PLC高手必备技能,施耐德PLC与变频器的CANopen通讯程序编写
在前文 PLC高级应用技术,PLC与变频器的CANopen总线通讯控制之线路介绍,PLC高级应用,PLC与变频器总线(CANopen)通讯之硬件组态篇中分别向大家介绍了PLC和变频器的CANopen通讯的线路知识和硬件组态,当我们完成了上述两项任务之后,就进入了正题,通讯程序的编写,今天就给大家如何写程序。接上两篇,仍然以施耐德CODESYS平台的PLC编程软件Somachine 为例讲解。变频器采用施耐德ATV71。
当我们把硬件组态程序下载到PLC中之后,PLC会主动寻找从站,建立通讯连接,如果线路没有问题,从站的参数设置正确,PLC与从站之间的总线通讯会自动完成,PLC会给出通讯正常的信号,一般是个布尔量。施耐德CODESYS平台的PLC处理起来比较麻烦,需要利用几个功能块把它读出来,在这里不再展开讨论。一般我们都把这个状态做在触摸屏上,作为监控。但是,如果我们只是想看到这个状态,不做在触摸屏上,是可以在编程软件中直接看到的。
图一
如 图一所示,这软件中的硬件树,注意看红色的三角形,表示通讯是失败的,因为小编只是打开了仿真功能,并没有连接实际的从站。如果这个三角形是绿色的,就表示通讯正常了。在施耐德的Somachine软件中,所有的硬件组态都是采用此种形式来告诉编程开发人员,硬件是否正常。
小编曾经说过,欧美系PLC和日韩系PLC是不同的,欧美系PLC注重功能块的概念,不存在所谓的指令,因此,对于从站的读取和写入,都是通过功能块来完成的。由于是同一品牌的通讯,官方都已经开发好了专门的功能块,也就是符合PLCopen标准的功能块,我们直接调用接可以了。
1 变频器使能对于变频器的使能采用 MC_POWER_ATV 功能块。其中前面的MC_POWER是标准的PLCopen功能块,后面的ATV是施耐德官方在开发此功能块时加上的后缀,用来区分不同的从站,ATV是施耐德变频器的型号代码。同样,不同系列的变频器和伺服驱动器时通过后缀来区分的。
图二
如图二所示,这是对两个从站的使能操作,注意看红色圆圈部分,这是对不同从站的区分,功能块中输入引脚Axis表示我们要操作的从站轴号,在欧美系PLC中,几乎我们能操作的对象都是可以定义成变量的,同样,对于总线通讯的不同从站,也是按不同变量处理。因此,此处我们要填写我们在硬件组态中定义的轴名称。
当变量A 和变量B 分别为高电平时,就会对变频器进行使能操作。 输出引脚STATUS 和 ERROR是表示使能状态的,同样,我们也可以引入变量对此进行处理。
2 速度控制
变频器主要就是进行速度控制的,同样,它也是有相对应的功能块来完成的。
图三
如图三所示,通过MC_MOVEVELOCITY_ATV 来进行速度控制,大家可以看到,它是可以和使能模块共享轴号这个输入引脚的,这就是使用CFC编程语言的好处。当变量E_Fan为TRUE的时候,变频器就会以变量Vel_Fan定义的速度运行。
3 变频器的停止
变频器的停止和我们使用硬接线的停止是不同的,必须使用专门的功能块
图四
如图四所示,变频器需要使用MC_STOP_ATV 功能块来停止,当变量S_Fan为TRUE的时候,变频器就会停止。
以上,就是通过总线对变频器进行控制时基本的程序的编写,大家可以看到,采用CFC语言编写是非常便捷的,当然,日系PLC采用梯形图就可能不会使用此模式了,但可移植性大大降低。当然,控制变频器不止这三个功能块,还有很多,大家如果使用施耐德PLC可以参考相关手册,如果使用的是欧美系PLC,其套路是差不多的。
自动化工程师:施耐德 PLC常见两种编程通讯控制实例,收好不谢
1、第一种是采用 UNTLW1协议进行联机编程:
参数设置与通讯配置检查:用 Premium的专用编程电缆“TSXPCX3030-C(USB接口,有专门的驱动)”通过调试机与CPU上的TER口进行连接,连接好后,点击某单栏里的“PLC(P)”菜单,选择“设置地址(A),”弹出如下对话框
正常时应如上图圈1所示,编程器为PLC模式,如若非PLC模式而是仿真器模式,则需在上图图3中切换一下即可。在PLC模式下时地址(A)里填写“SYS”,“介质(M)”选择“UNTLWO1”点击圈2所示的“通讯参数”按钮,弹出下列对话框
点击上图圈中的“驱动设置”按钮,进入如下画面:
如圈2中下拉框选择“UNITELWAY”,再选择第二个选项卡(圈1)“ UNITELWAY Driver”弹出如下画面:
确保上图圈1中的版本号在Ⅵ.10以上(包含1.10),若低于1.10请另外安装高版本的UNITELWAY驱动,否则有可能连不上,点击上图的圈2“ Configuration”按钮,弹出串口设置窗口如下:
选中上图红色圈圈标出的第一行,再单击“Edit”标签框,可弹出下图:
在上图圈1所示的下拉框中选择串口号,如编程电缆已接到正确的USB接口且驱动安装正确则在此可找到一个串口号,其后跟有(TSXPCX3030 Cable),如上图一样,选择好后点圈2“ Line Parameters”选项卡,根据PLC程序里设定的串口通讯参数(参看“如何查看PLC程序内部通讯参数”),并且要保证调试电脑为通讯电缆分配的串口通讯参数也一致(可在桌面右击“我的电脑”-选择“属性”-选择“硬件”选项卡-选择“设备管理器”查看分配的串口通讯参数),修改完后一路点“OK”、“确定”保存刚才的修改。
如何查看PLC程序内部通讯参数:
双击上图图1所示通讯口,弹出如下对话框(下图圈2所示即为程序内部通讯设定的参数)
2、第二种是采用TIP协议进行联机编程
参数设置与通讯配置检查,采用以太网编程分两种情况,一种是初次下载(CPU内无任何配置),另一种是PU内己有程序配置
(1) 初次下载(CPU内无配置),此时CFU的以太网地址为出厂默认设值:默认IP地址的格式为085.016xy,xx.yy,xx.yy为MAC地址的最后两组数据转化成十进制。MAC地址可以直接在CPU或者以太网模件上看到,如MAC地址为00 80 F4 01 12 20。则转化后得到默认1P地址为085.016.018.032
(3)将调试电脑的IP地址设置成与上述地址同一网段(即前三段一致)联机设置。点击菜单栏里的“PLC(P)”某单,选择“设置地址(A),”出如下对话框
正常时应如上图圈1所示,编程器为PLC模式,如若非PLC模式而是仿真器模式,则需在上图圈3中切换一下即可(此步操作后需在“生成(B)”某单下选择“重新生成所有项目(R)”将程序重新生成一下),在PLC模式下时点击圈2所示的下拉菜单,选择介质为“ TCPIP“圈4中的地址(A)填写为U内部的IP地址,最后点击上图最右边的确定按钮即可。
二. 联机下载:按上述步骤设置好通讯参数后,如下图(仿真模式下截图)
注意将上图圈5里面的复选框勾上,点“传输”开始下载程序,下载完成后在弹出的对话框里点“确定”启动PLC程序,此时显示如下图:
以上,欢迎动动手分享及收藏!
相关问答
施耐德plc与dcs通讯走什么通讯协议?
PLC与DCS之间最通用的应该是MOdbUS协议及PrOfibUS协议。这两个协议均为通用标准。其实不仅仅施耐德公司产品如此,其它所有品牌的PLC,DCS,包括触摸屏。操作软件...
施耐德变频器通讯接线方法?
施耐德变频器通讯的接线方法:1.通过这两种控制器的开关量端子实现PLC与变频器之间的连接。2.通过PLC的模拟量模块与变频器的模拟量端子实现连接。3.通过两...
施耐德变频器ATV12,想用西门子PLC200通过MODBUS协议控制变频器动作,不知道PLC需要发送什么指令来控制?
西门子200PLC中有modbus的功能程序,直接调用就好了。AVT12的说明书上应该有关于modbus协议在AVT12上的应用。我推荐的话先用串口调试助手向变频器发送...
施耐德lmc058plc怎么传程序?
施耐德lmc058plc程序的传输方法有两种:使用编程电缆:-将编程电缆连接到PLC的编程端口和计算机的串口。-在计算机上运行施耐德的编程软件,并使用软件建...
施耐德plcm241上传程序方法?
以下是施耐德PLCM241上传程序的一般方法:1.在电脑中安装施耐德驱动,点击setup.exe安装。2.使用编程电缆连接PLC和电脑。3.在电脑设备管理器中找...以...
两套系统,施耐德昆腾67160PLC和西门子S7300之间,如何通讯?
1.串口,modbus协议2.以太网口3.昆腾PLC有profibus模块,安装之后,可以采用profibus总线通讯,西门子的中高端PLC都支持这个profibus1.串口,modbus协议...
施耐德TM218PLC与intouch通讯的opc软件是什么?
opc软件?opc是一种协议,如果你问的是TM218的编程软件的话是Somachine,4.1是比较新的版本,3.5也可以使用。opc软件?opc是一种协议,如果你问的是TM218的编程软...
plc通讯协议标准?
PLC支持的几种通讯协议。一、PPI通讯是西门子公司专为s7-200系列plc开发的通讯协议。内置于S7-200CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以...
我们这通讯故障怎么办啊,施耐德的plc和变频器所有通讯都报警通讯故障?
是新调试设备还是旧设备,问题排除:检查变频器参数设置;程序通讯格式字是否和下位机参数一样;通讯线是否连接正确。是新调试设备还是旧设备,问题排除:检查变频...
请教各位高人急急ATV31与施耐德PLC通信接..._通信工程师_帮考网
ATV31与施耐德PLC通信接线问题的解决方法如下:1.首先,确保ATV31和PLC的通信协议相同,例如ModbusRTU或ModbusTCP。2.然后,将ATV31的Modbus通信端...