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标准的功能块,我们直接调用接可以了。
对于变频器的使能采用 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应用,在程序中定义变量和数据!
施耐德PLC中编辑变量和数据:
(一)基本知识
1、变量分类
变量是在程序执行时可以修改的内存区域。Unity Pro 软件编程可以使用两种类型的变量:
1) 定位变量:是与 I/O 硬件模块输入输出通道相关联的,或者与内存引用相关联的变量。例如:“启动电机”与输入模板通道 %I 0.5.0 相关联,“启动电机”就是定位变量。
2) 非定位变量:是既不与I/O 硬件模块输入输出通道相关联,也不与内存引用地址相关联的变量,即没有地址关联的变量成为非定位变量。非定位变量在内存中的位置不可知。这种变量定义类型可以使您在编写程序时抛开地址的束缚,完全专注于您的应用。
2、通用数据类型和范围
BOOL/EBOOL : 布尔变量必须为 FALSE (0) 或 TRUE (1). EBOOL处理强制和边沿检测
WORD : 代表 “位串16”, 意味着数据长度为 16 位
INT : 代表整型数. 数值范围从 -32768 至 +32767
UINT : 代表无符号整型数. 数值范围从 0 至 65535
REAL : 代表浮点值. 数值范围从 -3.40e+38 至 3.40e+38
3、 通用数据类型的立即值语法
通常基本数据类型(EDT)的实例采用变量名或拓扑地址的方式引用,而在数据编辑器或程序段中也可以通过立即值的方式赋值和引用。如下图所示。
4、定义变量的三种方式
方式一,在项目浏览器中鼠标双击“变量和FB实例”,在弹出的‘数据编辑器窗口’定义,编辑、修改变量,如下图。
方式二,在项目浏览器中双击CPU或I/O模块,如下图查看相应模块的地址,在模块的I/O对象表格里定义,这种方式只能生成,不支持修改和删除。
方式三,在”程序编辑窗口”中定义,这种方式只能生成,不支持修改和删除。
(二)实际操作
1、在项目浏览器中点击“变量和FB实例”,在右侧“名称”下输入start,类型选 EBOOL,在下一行输入 stop,类型选 EBOOL,然后关闭窗口。如下图:
2、从硬件属性中书写:在项目浏览器中双击DDO3202k;左键点右侧“BMX DDO3202k”,选择I/O对象,再选择%Q,然后点击“更新网络”。在该界面右侧%Q0.2.0名称下,改写为cmd_motor,再用鼠标左键选中第2行,按着鼠标左键下拉,选择右侧Q0.2.1、Q0.2.2、Q0.2.3;然后在左侧“名称前缀”框中输入cmd_,点击“创建”。即可形成cmd_0、cmd_1、cmd_2;如下图:
3、关闭所有窗口,点击“变量和FB实例”,会显示刚才所有的定义变量名。
4、按保存按钮,保存项目。
相关问答
施耐德PLC编程软件UnityProXLV5.0授权工具怎么用?
先运行授权工具里那个prvdisk.exe程序,创建一个虚拟盘,要注意选择.DPD格式的那个文件和格式化一下,然后再连接。输入密码12345,然后在注册文件里选择转让许可...
施耐德PLC的程序是怎么拷贝的?
在电脑上是以文件形式存在的,直接复制就行,在plc上,需要下载,用施耐德的编程软件下,不过有可能程序在写进去的时候设置了权限和下载限制,有可能不能下载到...
plc中ms是什么意思?
答:施耐德plc编程软件是施耐德电气自动化的核心产品,它是新一代软硬件自动化平台。其中MS表示毫秒的意思。PLC内的定时器的时钟脉冲10ms的就是说经过10ms就...
施耐德PLC是什么?
施耐德PLC主要有原Modicon旗下的Quantum、Compact(已停产)、Momentum系列。施耐德plc编程软件是施耐德电气自动化的核心产品,它是新一代软硬件自动化平台。...
我求一份施耐德变频器ATV31:3HP说明书。和施耐德PLc编程序说...
[最佳回答]变频器ATV31说明书以发给你。施耐德PLc编程手册型号有很多种,你要看要那个,可以在百度文库里找到。
施耐德m340plc上传程序方法?
要上传施耐德M340PLC程序,需要使用UnityPro软件并连接PLC。首先打开UnityPro软件,选择打开一个项目,选择要上传的PLC型号和上位机连接方式。之后在软件顶...
施耐德m218plc编程软件?
SOMACHINE施耐德官网有简版的,不要序列号,完整版是需要序列号的。下载完somachine后还需要安装M218的补丁,直接下载的somachine是不带218PLC的。http://www.s...
施耐德plc程序怎么拷贝出来?
施耐德PLC程序拷贝出来的方法如下:使用PLC编程软件。确认备用CPU的型号和规格与原CPU兼容,并确保备用CPU已正确安装和连接。使用PLC编程软件(如SoMachine)打...
施耐德pLC数据tr模块介绍?
施耐德PLC(可编程逻辑控制器)数据TR模块是用于数据处理和传输的模块,可实现对传感器、执行器等设备的数据采集、处理和通信功能。TR模块支持各种常见工业通信...
施耐德plc是几进制的?
十六进制。施耐德plc编程软件是用于Premium、Atrium和QuantumPLC的通用IEC61131-3编程、调试和运行软件包。基于PL7和Concept的公认标准,U...