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编程SoMachine软件工程的建立及仿真
在自动控制领域,施耐德各系列PLC,因其强大的功能、友好的界面被大家广泛的应用。这里以施耐德SoMachine V4.3编程软件分享PLC工程的建立及程序的仿真。
以下图片为SoMachine软件安装后的图标,软件安装过程这里不做详细介绍,但其安装时,需要使用虚拟光驱引导安装,这是与一般的常规软件安装不同。
建立工程
双击SoMachine软件图标,打开软件。新安装的软件会弹出如下所示的窗口。
点击“不加装插间并继续”按钮,继续打开软件,软件探测如下所示对话框;
点击“关闭”按钮;
在弹出的界面中,选择“新建项目”-“空项目”;
在如下所示的界面,协调项目的名称“test”,然后点击“创建项目”;
在弹出的界面,双击“添加及删除设备”,进入硬件组态画面;
在硬件组态对话框中,依照如下所示的顺序选择,导入PLC硬件;
PLC硬件导入以后如下图所示,点击“完成”,关闭硬件组态对话框;
回到软件项目导航界面,双击“控制器”,进入PLC的编程界面;
PLC编程界面如下图所示;
在PLC的编程界面的左侧的应用程序树中,点击“Application”右侧的“+”号图标,在弹出的快捷菜单中,选择“POU…”创建程序;
在弹出的对话框中,输入程序名称“main”-类型选择程序,实现语言选择ST(当然这个位置还可以选择梯形图、FBD等),点击“添加”。即可完成程序的创建。
如下即为ST语言方法的程序编辑器;
在界面左侧的“应用程序树”中,任务设置-MAST的右侧点击“+”,在弹出的快捷菜单中,选择“程序调用…”;
弹出如下所示的对话框,在要调用的POU项,点击“…”;
弹出如下所示界面,选择“Application”-“main(我们已经建立的程序页名称)”双击;
回到添加程序调用对话框,点击“添加”;
添加完成后,应用程序树如下图所示;
在程序编辑器的上方,点击倒三角符号,打开变量定义编辑器;
变量定义区打开后的程序编辑区如下图所示;
在变量编辑区输入“val1,val2,val3:int;”即定义了val1,val2,val3三个整型变量;
在程序代码区,输入“val3:=val1+val2”;实现将两个变量求和;
程序编写完成后,点击工具栏中的编译按钮,编译程序;
编译完成后,会在消息通知栏中,显示编译信息,如下图所示;
PLC程序仿真
点击菜单栏中的“在线”-“仿真”,软件打开仿真器;
点击工具栏中的在线按钮,仿真在线程序;
弹出如下所示的提示框,点击“是”;
完成后,软件如下界面所示;
点击工具栏中的“开始”按钮,将PLC切换到运行模式;
PLC运行后,在变量定义区域,写入如下所示的数字;
然后使用快捷键Ctrl+F7,写入数据;数据写入后,软件如下图所示。
以上,即使用SoMachine完成了程序工程的建立、硬件组态、程序编写、程序调用、程序的仿真等。
(转载请注明来源函控自动化工程师头条号)
相关问答
施耐德PLC编程软件UnityProXLV5.0授权工具怎么用?
先运行授权工具里那个prvdisk.exe程序,创建一个虚拟盘,要注意选择.DPD格式的那个文件和格式化一下,然后再连接。输入密码12345,然后在注册文件里选择转让许可...
施耐德都有什么系列的PLC?都有什么编程软件?
施耐德plc系列有:1、Quantum,高端的;2、Premium,中端的;3、Momentum、Twido,低端的。施耐德PLC主要有原Modicon旗下的Quantum、Compact(已...
施耐德plc时间继电器的编程方法?
你好!施耐德plc时间继电器的编程方法如下:1.明确PLC时间继电器编程是一种基于时间控制的编程方式,能够实现对设备的时间控制功能。2.PLC时间继电器编程需要遵...
施耐德plc用USB线下载程序/?
在电脑上是以文件形式存在的,直接复制就行,在plc上,需要下载,用施耐德的编程软件下,不过有可能程序在写进去的时候设置了权限和下载限制,有可能不能在电脑上...
求助施耐德TWIDOPLC程序解密?
TWIDOPLC的编程软件没有UPLOAD命令,也没有密码比较的环节,解密是很难的。可以试验一下的是:用编程软件的Backup命令先把PLC程序由RAM备份到内部EEPROM,再把P...
施耐德PLC编程中:OR(或)?
OR,相当于将两个触点并联;AND,相当于将两个触点串联;这么说容易理解了吧。OR,相当于将两个触点并联;AND,相当于将两个触点串联;这么说容易理解了吧。
PLC程序加时间继电器怎么编程?
以台达plc编程时间继电器编程方法台达PLC计时器是以1ms、10ms、100ms为一个计时单位,计时方式采上数计时,当计时器现在值=设定值时输出线圈导通,设定值为10进...
施耐德m218plc编程软件?
SOMACHINE施耐德官网有简版的,不要序列号,完整版是需要序列号的。下载完somachine后还需要安装M218的补丁,直接下载的somachine是不带218PLC的。http://www.s...
施耐德PLC编程中:OR(或),AND(与)功能块的作用?
[最佳回答]OR,相当于将两个触点并联;AND,相当于将两个触点串联;这么说容易理解了吧。
有没有人制作过施耐德TWIDO的PLC编程电缆?
Twidoplc,已经停产好久了,现在基于somachinbasic平台的M200替代它了。印象中记得要用专用线缆,还要买,若带以太网的plc就可以通过以太网下载。Twidoplc,已经...