精华内容
下载资源
问答
  • 本文档主要针对倍福的系统TWINCAT插补运动模块进行介绍
  • 倍福TwinCAT3入门教程,Visual Studio2010安装TwinCAT3教程,平台Windows7 安装之前需要确认,是否已经安装过TwinCAT3
  • TwinCAT技术手册TwinCAT PLC - PC 上运行的多 PLC,符合 IEC 61131-3 标准
  • 1 入门示例;2源代码下载 / 项目比较;3Profibus 主站设置
  • TwinCAT提供了一系列的执行Windows系统命令的方法 Name描述NT_Shutdown关机操作系统NT_AbortShutdown取消关机操作系统命令NT_Reboot重启操作系统NT_GetTime获取本机系统时间NT_SetLocalTime设置本机系统时间NT_...
    TwinCAT提供了一系列的执行Windows系统命令的方法 
    

    Name

    描述

    NT_Shutdown

    关机操作系统

    NT_AbortShutdown

    取消关机操作系统命令

    NT_Reboot

    重启操作系统

    NT_GetTime

    获取本机系统时间

    NT_SetLocalTime

    设置本机系统时间

    NT_StartProcess

    启动一个Windows的应用程序

    NT_SetTimeToRTCTime

    同步本地系统时钟和PC实时时钟

    FB_RegQueryValue

    读系统注册表

    FB_RegSetValue

    写系统注册表

    FB_EnumFindFileEntry

    搜索文件夹下符合指定文件名的子目录或文件

    FB_EnumFindFileList

    搜索文件夹下符合指定文件名的子目录或文件,并将找到的对象一一列出

    FB_GetAdaptersInfo

    读取本机或远程PC的板卡信息

    FB_GetHostName

    读取本机或远程PC的主机名

    FB_GetHostAddrByName

    将主机名转换为(IPv4)的IP地址

    FB_GetTimeZoneInformation

    读取操作系统的时区

    FB_SetTimeZoneInformation

    写操作系统的时区

     

    如果要执行具体的命令,首先添加Tc2_Utilities库

     

    其次根据库的名称找指令,我们只要知道了指令的名称,就可以右击转到定义查看这条命令在库中的位置

     

    如果要详细的知道这条指令的用法,可以在InfoSys中搜索这条命令,然后会出现详细的说明

        

    总结:

    本小程序主要演示了贝福官方FBD功能块的使用范例,要学会从InfoSys中找到每一个功能块的含义和用法。

    贝福本身PLC程序仍然使用ST编写,注意对每一个FBD功能块的置位复位,体现了PLC程序每一个扫描周期从第一行执行到最后一行算一个完整周期,且命令的触发必须是上一个周期复位,这个周期置位。

    一般我们只在使用具体功能的时候需要用到FBD功能块,而本小程序中所演示的功能块可能实用价值并不大(因为很少有应用会通过贝福来执行系统命令,类似于读写注册表这种事情其实用高级语言完成效率更高更简单,但是毕竟本节演示的程序不需要跟具体硬件打交道,所以谁有台电脑都能测试,理解本节所演示的功能块有助于TwinCAT入门)

     

     

    更多教学视频和资料下载,欢迎关注以下信息:

    我的优酷空间:

    http://i.youku.com/acetaohai123

     

    我的在线论坛:

    http://csrobot.gz01.bdysite.com/

     

    问题交流:

    QQ:910358960

    邮箱:acetaohai123@163.com

     

     

     

    展开全文
  • 把编写简单计算器作为入门的第一个范例程序,主要是因为比较简单,而且综合了HMI,数据类型,数据转换,PRG和FBD等功能块的混合等知识,个人认为还是比较适合用来快速上手的。由于是第一个范例,所以视频教程和文档...
    把编写简单计算器作为入门的第一个范例程序,主要是因为比较简单,而且综合了HMI,数据类型,数据转换,PRG和FBD等功能块的混合等知识,个人认为还是比较适合用来快速上手的。由于是第一个范例,所以视频教程和文档说明都会比较详细(学习能力较强的可以跳着看,后面范例的说明会逐渐减少) 
    

     

    添加一个PLC,随便取个名字

     

    首先是把人机界面做好,最简单的计算器需要实现加减乘除的功能,右击VISUs添加一个人机界面,名字也随便

     

    在人机界面上拖放需要的控件(这个跟高级语言一样,但是注意是控件都是TwinCAT提供的控件,所以会有Rectangle,Line这种控件,一般TwinCAT2用的比较多,因为一个Rectangle既可以是Button,又可以是Textbox,但是TwinCAT3既然提供了更加接近高级语言的控件,就使用常规的按钮和文本框即可)

     

    然后就是创建一个功能块了(你也可以在MAIN里面直接写,或者不创建功能块,创建FUN,PRG都可以),具体区别后面会讲到

     

    FB本身是有输入输出的(VAR_INPUT,VAR_OUTPUT,而定义在VAR 和END_VAR之间的是临时变量,我们暂时用不上)在这个FB上右击添加Method,比如最简单的相加方法(注意返回类型LREAL就是double类型)

     

    用同样的方法做好加减乘除,这样再主程序调用的时候就会非常方便,直接类.方法就出来了,注意FB需要实例化一个对象,我个人习惯于把变量都定义在全局变量中(至少这些变量是很多地方都要用到的)。

     

    在具体编写某个Method的时候,注意最后只要让Method的名称赋值等于结果即可(加不加RETURN都行),这不仅仅是对于INT,LREAL这些基本类型,如果要函数输入两个数组,输出一个数组之类的也可以,这个后面会讲到,暂时还没用到

     

    在做除法的时候,自己要判断分母是否为零(TwinCAT如果碰到非法的运算,可能会返回NaN,也可能会直接报警,例如SQRT(-1)在TwinCAT3中就会得到一个NaN的结果,而除以0就直接会报警)

     

    我们看到了功能块的解决方法(Function Block,需要声明类的实例,稍微有点麻烦,但是一个整体的功能块能否划分给一个类,比如MathCalc包括了加减乘除,也可以继续扩展开多次方,开根号,算圆面积,算三角函数等等),在接着往下做之前,先来看一下别的做法。直接创建一个FUN(函数),这样也可以做,而且写法基本一样(到最后的Method名称=结果即可)

     

    使用的时候不需要声明FB的实例,直接函数名即可(可以认为FUN是全局的,不是哪个类的),所以看个人的使用习惯,如果项目很小,也无所谓以后的代码复用,可以直接FUN来做,但是如果考虑一个类不断完善和代码复用,肯定还是需要用FB来的更合理(直接的FUN都是散开的,如果你有10个很基本的FUN散落在这个项目的各个位置,下次要用的时候是不是还得挨个找到,复制粘贴到新的项目?使用FB直接复制一个FB,他的所有方法就都有了)

     

    除了FUN和FB的区别,我们还可以在FB上新建Action(Method,Property,Transition一个四种,但是最主要用的是Action和Method),新建了Action之后可以发现代码是空的啥也没有,因为Action只是一个代码片段,没有输入输出,相当于还是在执行MathCalc的一部分代码而已

     

    如果一定要这样做也可以,但是非常繁琐,你需要对Math(FB的实例)的指定属性赋值,然后执行Math的指定Action,然后从Math的指定输出中采集结果(可想而知如果某个函数需要10个输入,你就要挨个做,肯定是不方便的)

     

    那么Action具体干什么用?Action的好处就是可以更加有条理的归纳代码。比如MAIN程序的每一个状态里面已经有很多事情了(获取HMI的输入,变量转换,执行功能,显示输出,回到0状态等等),可以在MAIN里面新建一个Action把这些主程序逻辑结构不关系的东西都放进去,这样如果执行到Math_Add,就只需要一行就可以了。

     

    分析完了程序结构,我们再来看人机界面的注意事项,一个文本框如果要绑定到String类型,则Text应该是%s,如果是INT类型,则%d,如果是LREAL类型,则%f,我们为了可以直接输入文本方式的数字,所以绑定到字符串类型(执行运算的时候再把字符串转成LREAL类型)

     

    相比于Numpad就会方便很多,你可以直接键盘输入数字,结果也可以鼠标按进去之后复制结果

     

    建议对一类功能成组,这样可以很方便的整体拖动,复制粘贴。在工具箱中搜索group即可找到,同时打开顶部的元素列表也可以批量选中一个组中的控件

     

    为了演示数组类型的传入传入,我们以向量的点乘和叉乘为例。(本质上函数不能传出数组,但是可以传出结构体,结构体定义成只有一个数组的元素即可),这样只要输入的同样类型结构体赋值准确,就可以执行函数,同时得到的输出也放到指定类型结构体,并不比数组难用,在本例中,直接结构体.DATA[数组下标]即可读写数组元素

     

     

    更多教学视频和资料下载,欢迎关注以下信息:

    我的优酷空间:

    http://i.youku.com/acetaohai123

     

    我的在线论坛:

    http://csrobot.gz01.bdysite.com/

     

    问题交流:

    QQ:910358960

    邮箱:acetaohai123@163.com

     

     

     

     

     

     

     

    展开全文
  • 同时在注册表中的自己修改的数值也可以在TwinCAT中采集到       更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   我的在线论坛: ...
    读写注册表和读写文件一样,里面涉及的输入类型比较复杂,需要参考官方范例 
    

    sSubKey是指注册表的路径

    sValName是指注册表要写入的名值对的名称

    eValType是一个枚举类型(而且不是什么常规的枚举类型,你可以输入eValType.XXX来查看所有的类型,但是实际上只要照抄就行了)

    cbData就是要写入的数据(LEN(XXX)其中XXX就是字符串类型,我们必须按照一样的格式用LEN方法返回长度,为什么要+1就要问贝福了)

    pData是要写入数据的指针地址(要跟他一样ADR(XXX),XXX还是前面的字符串类型变量)

     

    可以测试写入到注册表(注意需要刷新注册表)

     

    同时在注册表中的自己修改的数值也可以在TwinCAT中采集到

     

     

     

    更多教学视频和资料下载,欢迎关注以下信息:

    我的优酷空间:

    http://i.youku.com/acetaohai123

     

    我的在线论坛:

    http://csrobot.gz01.bdysite.com/

     

    问题交流:

    QQ:910358960

    邮箱:acetaohai123@163.com

     

     

     

    展开全文
  • 之前文章介绍了ADS(Automation Device Specification)通讯问题,这是基于TCP/IP的应用协议,实时性一般,实时性要求较高时,可以应用 Realtime Ethernet 方式,... Lizzy Chen,《TwinCAT 2.0从入门到精通》,2019. ↩︎

    之前文章介绍了ADS(Automation Device Specification)通讯问题,这是基于TCP/IP的应用协议,实时性一般,实时性要求较高时,可以应用 Realtime Ethernet 方式,即EAP(EtherCAT Automation Protocal)通讯协议。下表简单对三种通讯方式进行比较:

    表1 TwinCAT控制器之间的几种通讯方式 1

    协议硬件要求实时性说明
    ADS通讯普通网卡,支持无线典型值:<100msServer/Client,要写 PLC 程序,不用配置 IO
    EAP通讯支持 Y-Driver 的有线网卡 ,最好独占或EL660x交换机模块典型值:<10msPublisher/Subscriber,不用写 PLC 程序,要配置 IO
    EtherCAT主从通讯从站控制器应有 Slave接口,e.g CX8090、-B110、FC11xx 等最小值:<1msMaster/Slave,不用写 PLC 程序,要配置 IO

    目前上位机-控制器的控制模式很普遍,属于上位机与控制器的通讯而非传统的控制器之间的通讯,在实时性要求不高的场合,可以仅通过远程ADS,以变量名读取的方式进行变量之间的传递,一般可以达到100ms以内;
    而实时性要求高的场合,由于不是控制器之间的通讯,因此无法直接通过EAP进行通讯,但是可以转变思路,通过在上位机上建立一个本地中间Twincat程序,上位机C++程序通过本地ADS与本地中间Twincat程序进行信息传递,而在控制器上运行的Twincat程序与本地中间Twincat程序进行EAP通讯,从而将原本是远程ADS通讯变为了本地ADS通讯和EAP通讯的组合,这种方式一般可以达到10ms以内的实时性。
    由于ADS与C++通讯的方法之前文章有讲到,因此本文只介绍EAP通讯的配置部分,本地中间Twincat程序的具体步骤如下:

    1. 添加EAP设备

    新建工程,DEVICE中添加EAP,如下图。
    EAP
    选择Network Variables类型。
    EAP
    有时需要设置网络适配器来激活EAP,在Adapter中选择search,选择网络适配器后确定,之后激活配置方可进行下一步。
    适配器

    2. 添加变量刷新的Task周期

    在Task上右键添加 task with image类型。
    task
    EAP通讯是通过设置task周期性刷新通讯的变量,因此也可以自行设置task周期循环时间以及task优先级,在此不具体叙述。
    在task子目录Inputs和Outputs分别新建需要通讯的变量名称和类型,在此我们设置类型为BOOL的变量outputTest和inputTest。
    task

    3. 添加收发器(subscriber和publisher)

    最后还要在IO中的EAP中添加subscriber和publisher。
    收发器
    同理在subscriber和publisher中添加变量,设置变量名和类型。在这里插入图片描述
    添加完我们可以看到,收发器下拉列表出现了VarData,我们将分别其链接到task中已经设置好的变量outputTest和inputTest中,然后重新激活配置。

    vardata
    在这里插入图片描述

    4. 测试

    对于本项目(上位机-控制器),其中Inputs对应控制器程序通过EAP传递来的变量,即subscriber;Outputs对应控制器程序通过上位机ADS通讯传递来的变量,即publisher。因此对于Outputs,我们只需要在task变量中写入值便可以模拟ADS通讯传递过来变量的工况(上位机ADS通讯的方式与此前文章方法同理,都是以变量名读取的方式,例如“Tasks.Outputs.outputTest”);对于Inputs,需要在IO的subscriber中写入来模拟控制器EAP传递过来的变量(为了方便,本文就不再介绍控制器程序部分EAP的配置,其配置与本文IO的配置同理,此处有误,参照另一篇文章. )。
    以模拟ADS通讯传递过来变量的工况为例:
    outputTest中写入值为1,
    outputTest
    观察IO下对应VarData的数值,也变为1,说明IO配置成功。
    vardata


    1. Lizzy Chen,《TwinCAT 2.0从入门到精通》,2019. ↩︎

    展开全文
  • 注意在TwinCAT2中,没有设置按钮按下和弹起的两个不同的事件,只能是按下松开的一瞬间(Click)执行程序。   为了让HMI和程序的窗口一同显示,可以在window中点击Tile vertical,然后就可以一同显示了 ...
  • 点击左侧的重启TwinCAT按钮,然后下载程序,然后可以尝试点击按钮,会看到数值变化(也可以双击MAIN程序,打开这个程序,拖放这个程序到外面,然后可以查看按钮点击的时候数值的变化情况)   对于一个...
  • 本简介的目的是在没有详细地了解TwinCAT的情况下,为读者快速地提供概貌的可能性。解释是在运用一个应用实例,并在各个章节中逐步展开而进行的。
  • TwinCAT入门,基本介绍

    2017-12-05 07:57:59
    TwinCAT入门,基本介绍,TwinCAT入门,基本介绍,TwinCAT入门,基本介绍,TwinCAT入门,基本介绍,TwinCAT入门,基本介绍,TwinCAT入门,基本介绍,TwinCAT入门,基本介绍,
  • 倍福PLC初学者使用,主要为Twincat3.0软件的介绍及编程准备,非常详细。
  • TwinCAT3 入门教程

    2017-06-29 20:05:29
    倍福 TwinCAT3 软件如何实现基于PC 的控制编程
  • 倍福TwinCAT3软件入门教程,中文版。倍福EtherCAT主站软件入门教程。pdf文档。适用于刚开始接触TwinCAT的初学者。
  • 倍福PLC SFC入门

    2018-08-09 16:42:29
    倍福PLC SFC编程入门教程,twincat3编程环境,详见正文
  • TwinCat3入门教程

    2018-03-01 09:15:42
    本文是倍福控制器的开发软件TwinCat3的入门教材,对于初次使用倍福控制器的技术人员可以有很好的指导作用
  • 此例程是基于 WIN7 系统进行 TwinCAT3 的安装。 TwinCAT3 4020 版本可以支持 VS2015 并且支持 WIN10 系统。 TwinCAT3 4022.14 版本可以支持 VS2017。 最新版入门教程,更新至2020.10月
  • TwinCAT3 入门教程V4.0

    2018-10-18 09:28:01
    TwinCAT3 入门教程V4.0
  • TwinCAT快速入门

    2016-08-24 20:31:16
    学习贝福PLC的入门资料,通过实例了解TwinCAT软件的基本应用,可以快速掌握TwinCAT入门技巧。
  • TwinCAT入门到精通 在 PC 上安装 TwinCAT 开发环境 初步认识开发环境
  • TwinCAT SFC编程入门

    2018-07-06 20:16:21
    TwinCAT SFC编程入门 技术,官方资料。简单易学,适用于新人刚入门学习倍福PLC时使用
  • TwinCat2手册

    2018-08-12 19:30:21
    倍福TwinCAT2入门手册,描述详细,对支持的每种编程语言均有介绍
  • TwinCAT system manager入门

    2018-01-24 16:47:16
    twincat2软件中TwinCAT system manager软件的使用视频,轻松入门
  • TwinCAT3 入门教程 V4.1

    2018-11-06 14:12:49
    TwinCAT3入门教程,从安装到扫描从站,最后到成功控制驱动器,层层递进,希望可以帮助到希望学习EtherCAT的朋友。
  • twincat使用说明,详细描述了安装、调试、输出和绘图等功能。
  • TwinCAT 基础入门

    2014-01-22 11:43:14
    倍福资深技术工程师经验结晶:BECKHOFF 嵌入式PC 从入门到精通V2.03

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

倍福twincat入门