编辑: huangshuowei01 | 2018-11-15 |
0将CPU端口分配给PPI系统协议,并禁用 Modbus协议. Baud:"波特率"参数.MBUS_CTRL指令支 持的波特率为
19200、
38400、57600或115200bit/s. Parity:"奇偶校验"参数."奇偶校验"参 数被设为与Modbus从站奇偶校验相匹配.所有设 置使用一个起始位和一个停止位.可接受的数值 为:0-无奇偶校验,1-奇校验,2-偶校验. 2.2.2 MBUS_MSG指令 如图3所示,主要参数含义如下: First:"首次"参数."首次"参数应该在 有新情求要发送时才打开以进行一次扫描."首次"输入应当通过一个边沿检测元素(例如上升 沿)打开,这将导致请求被传送一次. Slave:"从站"参数."从站"参数是Modbus 从站的地址,允许的范围是0-247,地址0是广播 地址,只能用于写请求,不存在对地址0的广播请 求的应答.并非所有的从站会支持广播地址,S7- 200Modbus从站协议库不支持广播地址. RW:"读写"参数."读写"参数指定是否 要读取或写入该消息."读写"参数允许使用下 图7 温度表 图8 PT100外表 图9 调用的库要分配系统内存地址区 图4 MBUS_INIT指令 图5 MBUS_SLAVE指令 图6 PLC硬件接线图 kzcd.chuandong.com 控制系统 CD技术与应用 CONTROL SYSTEM 列两个值:0-读,1-写. Addr:"地址"参数."地址"参数是起始 的Modbus地址. Count:"计数"参数."计数"参数指定 在该请求中读取或写入的数据元素的数目."计数"数值是位数(对于位数据类型)和字数(对 于字数据类型). 西门子Modbus从站协议库包括两条从站指 令:MBUS-INIT指令和MBUS-SLAVE指令(图4 和图5).
3 系统硬件电路的设计 PLC硬件接线图如图6所示.PLC部分略去不 讲,主要介绍外部元器件. 3.1 温度表 由于是总线控制的温度表,一般都选用支持 Modbus的RS485型数显仪(如图7所示). 3.2 PT100 西门子S7-200支持两种类型的温度传感器, 即热电阻和热电偶,其温度模块也有不同,必须 合理配置.图8为常用的PT100热电阻.
4 系统软件程序的设计 利用指令库编程前首先应为Modbus从站分 配存储区,否则Micro/Win软件编译时会报错.通过Micro/Win软件菜单命令"文件"→"库存储 区",打开"库存储区分配"对话框.在"库存 储区分配"对话框中输入库存储区的起始地址, 注意避免该地址和程序中已经采用或准备采用的 其他地址重合.单击"建议地址"按钮,系统将 自动计算存储区的截止地址. 而对于从站来说,S7-200作Modbus通信要 用到自由口通信下的Modbus Slave库,对于此 库的应用要注意的是: Modbus Slave库仅支持 Modbus PTU通信模式,不支持ASCII通信模式;
目前的Modbus Slave库仅支持通信口Port0.使用Modbus Slave库时也要注意对库分配内存区空 间,否则编译后会出现很多的错误.如图9所示. 编程时使用SM0.1调用子程序MBUS_INIT进图11 主站主程序 图10 调用ModbusPTU通信指令库
000001 Q0.0
000002 Q0.1
000003 Q0.2 … …
000127 Q15.6
000128 Q15.7
010001 I0.0
010002 I0.1
010003 I0.2 … …
010127 I15.6
010128 I15.7
030001 AIW0
030002 AIW2
030003 AIW4 … …
030032 AIW62
040001 HoldStart
040002 HoldStart+2
040003 HoldStart+4 … … 04xxxx HoldStart+2x(xxxx-1) 表1 映射Modbus地址到S7-200 地址 功能码 数据1 … 数据n CRC高字节 CRC低字节 表2 RTU模式的报文格式 下转第96页 行初始化,使用SM0.0调用MBUS_SLAVE,并指 导相应参数.关于参数的详细说明,可在子程序 的局部变量表中找到. 初始化Modbus从站如图10所示. 图中参数意义如下: a.模式选择:启动/停止Modbus,1=启动;