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控制CAN节点?
通过PLC(可编程逻辑控制器)控制CAN(Controller Area Network)节点,主要依赖于PLC与CAN设备之间的通信能力。这通常可以通过以下几种方式实现:
1.使用PLC自带的CAN总线模块
步骤说明:
确认PLC型号:首先,确认PLC是否内置了CAN总线模块。许多现代PLC,特别是针对工业控制的高级型号,都配备了CAN接口。
连接CAN节点:使用适当的电缆将PLC的CAN接口与CAN节点相连。
配置参数:在PLC中配置CAN接口的参数,如波特率、数据位、停止位等,以确保与CAN节点的通信参数相匹配。
编写程序:在PLC编程软件中编写控制程序,使用相应的命令和函数来读取和写入CAN节点上的数据。
优点:
直接使用PLC自带的CAN总线模块,无需额外硬件接口。
操作方便,程序编写也相对简单。
缺点:
如果PLC没有预留CAN总线模块接口,需要替换或升级PLC设备。
受限于CAN总线的通信速度和距离。
2.使用外部CAN接口卡
步骤说明:
选择接口卡:选择适合PLC的外部CAN接口卡,并确保其与PLC兼容。
安装接口卡:将CAN接口卡安装在PLC的扩展槽或通过适当的接口连接到PLC。
配置参数:在PLC中配置接口卡的参数,确保与CAN节点的通信参数相匹配。
编写程序:在PLC编程软件中编写程序,使用相关的接口库或驱动程序来实现CAN数据的读取和写入。
优点:
能够在不改变PLC硬件配置的情况下,实现和CAN设备的通信。
连接多个CAN设备时,使用分离式的接口卡可以降低故障率。
缺点:
需要占用PLC的扩展接口,可能增加系统的复杂程度和成本。
需要使用相应的接口库或驱动程序来实现CAN数据的读取和写入,增加了系统调试和维护的难度。
3.使用CAN和PLC互联的网关设备
步骤说明:
选择网关设备:选择适合PLC和CAN节点的网关设备,如CAN-Modbus、CAN-Ethernet等转换器。
连接网关:将网关设备连接到PLC和CAN节点之间,实现通信协议的转换。
配置网关:根据网关设备的说明书,配置其参数以确保数据的正确转换和传输。
编写程序(如需要):在某些情况下,可能需要在PLC程序中添加额外的逻辑来处理网关转换后的数据。
优点:
可以在不同的物理网络之间实现数据转发和处理。
可以通过调整网关设备的设置来支持多种通信协议和格式。
缺点:
网关设备的通信速度和稳定性受限于设备本身的性能。
需要额外的设置和调试工作,增加了系统的复杂度和成本。
注意事项
在将CAN设备接入PLC时,需要确保两者之间的通信协议是兼容的。
根据具体的PLC型号和CAN设备,进行相关的设置和配置,如波特率、数据位、停止位等参数的匹配。
在安装和使用过程中,需要考虑环境因素对通信的影响,如电磁干扰、温度、湿度等,并选择合适的防护措施和电缆。
如果某个设备出现故障或异常情况,该设备可以通过CAN总线向PLC发送故障信息,PLC在接收到故障信息后应进行相应的处理。
如果您需要PLC控制器,可以私信评论找我。
相关问答
plc如何编写can总线通讯协议?
PLC编写CAN总线通讯协议需要考虑以下几个方面:1.确定CAN总线的类型和速率;2.确定CAN帧的类型;3.确定CAN帧的格式;4.制定CAN帧的发送和接收策略;5....
plc怎么实现can通讯程序案例?
PLC实现CAN通讯的程序案例如下:1.首先,使用CAN总线连接PLC和通信接口,例如使用双绞屏蔽线,将PLC的CANH和CANL分别连接到物理总线上。2.在PLC上编写程序,...
plc支持can通讯是什么?
PLC支持CAN通讯是指PLC(可编程逻辑控制器)可以使用CAN(控制器局域网络)协议进行通讯。CAN通讯协议是一种现场总线通讯协议,被广泛应用于工业现场自动化控制...
汇川plc如何用can通信?
要使用CAN通信与汇川PLC进行通信,您需要以下步骤:1.检查PLC型号和规格:确保您的汇川PLC支持CAN通信,并具有相应的CAN通信模块或接口。2.配置CAN通信模...
三菱plc上can总线接口使用方法?
回答如下:三菱PLC上CAN总线接口使用方法如下:1.准备工作:首先需要确认PLC所支持的CAN总线接口型号,然后选用相应的CAN总线模块进行接口配置。2.硬件连接...
plc通讯有几种方式?
一、PPI通讯PPI协议是S7-200CPU最基本的通信方式,通过原来自身的端口(PORT0或PORT1)就可以实现通信,是S7-200CPU默认的通信方式。二、RS485串口通讯第三...
PLC怎么连接电脑?怎么把在电脑编程好的程序放入PLC运行?
三菱FX系列PLC如何接线及如何通过RS232进行下载程序今天简单给大家介绍下三菱FX系列PLC如何接线和如何通过RS232进行下载程序,简单的说明帮助大家能快速与PLC通...
plc通讯协议有哪些?
PLC(可编程逻辑控制器)通讯协议是各种工业设备和控制系统的重要组成部分。不同的PLC厂家或不同型号的PLC之间都需要使用不同的通讯协议进行通讯,以实现控制和...
plc通讯三要素?
PLC通讯的三要素是:硬件、协议和通信方式。1.硬件:包括PLC本身和用于通讯的模块或接口。PLC通讯模块通常支持不同的通信接口,如串口(RS232、RS485)、以太网...
两个plc不同品牌怎么互联?
关于这个问题,要实现两个不同品牌的PLC之间的互联,首先需要确保两个PLC都支持相同的通信协议。常见的PLC通信协议包括Modbus、Ethernet/IP、Profinet、CAN等。...