在本系统中,当S7-226型PLC作为主站,变频器作为从站时,主站向变频器传送运行指令,同时接受变频器反馈的运行状态及故障报警状态的信号。西门子在Micro/WinV4.0SP5中推出MODBUS RTU主站协议库(西门子标准库指令)。通过调用该指令库,可以使S7-200系列PLC的CPU上的通信接口设置在自由口模式下,成为MODBUS RTU的主站(对Port0和Port1有效)。在S7-200控制系统中,要实现MODBUS RTU通信,需要STEP7-Micro/Win32V4.0软件且必须安装的指令库如图4-19所示。在调用指令库时,需要注意以下问题,调用库指令时要为其分配存储区,此数据区不能和其他数据重叠,否则在运行时会产生错误,不能正常通信。
STEP7-Micro/Win32指令库包含有专门为MODBUS通信设计的预先定义的子程序和中断服务程序,使得PLC与MODUBS从站的通信简单易行。调用MODBUS RTU主站初始化和控制子程序如图4-20所示,使用SM0.0(Always-On)调用MBUS-CTRL完成主站的初始化,并启动其功能控制。调用MODBUS RTU主站读写子程序如图4-21所示。
图4-19 指令库
图4-20 调用Modbus RTU主站初始化与控制子程序
在控制精度要求不高的情况下,通信程序的编写可以在调用主站初始化和控制子程序后,采用定时轮回发出读写指令的方式,定时周期应大于从站响应时间。控制精度要求高时,可以采用先读写子程序的完成位,驱动后再读写子程序的读写请求位,多次调用读写子程序时,最后一次调用的读写完成位用来启动首次调用子程序的读写请求位,如此循环的程序流程图如图4-22所示。
变频器与NMBA-O1通信适配器模块相连,接入MODBUS网中作为从站,接受从主站SIMATIC S7-226来的控制信息。NMBA-01通信适配器模块将从MODBUS网中接收到的过程数据存入双向RAM中的每一个字都编址,在变频器端的双向RAM可通过被编址参数排序,向变频器写入控制字、设置值或读出实际值、诊断信息等参量。(www.xing528.com)
图4-21 调用Modbus RTU主站读写程序
图4-22 程序流程图
变频器现场总线控制系统若从软件角度看,则其核心内容是现场总线的通信协议。MODBUS通信协议的数据电报结构分为协议头、网络数据和协议层三部分。MODBUS通信协议是一种串行的、非同步的主从通信协议,网络中只有一个设备能够建立协议,其他的设备只能通过提供数据响应主机的查询,或根据查询做出相应的动作。MODBUS协议定义了主机查询的格式,包括主从机的编址方法(或广播),要求动作的功能代码,传输数据和错误校验等。若不能完成主机要求的动作,则它将组织一个故障作为响应。MODBUS协议不需要特别的接口,典型的物理接口是RS-485。在MODBUS通信网络中,一般提供ASCII和RTU两种通信模式。本控制系统中,S720O PLC通过自由口编程支持MODBUS协议,可以灵活运用ASCII和RTU两种通信模式,ABB变频器支持MODBUS中的RTU通信模式。
在本控制系统中,通过编制MODBUS协议来实现通信和对变频器的控制,自由口的编程尤以CRC校验程序最为关键,而在ABB变频器上,只需对几项参数进行相关的设置就可以了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。