MODbus自由口通讯

上传人:cl****1 文档编号:548744763 上传时间:2023-05-25 格式:DOC 页数:13 大小:212KB
返回 下载 相关 举报
MODbus自由口通讯_第1页
第1页 / 共13页
MODbus自由口通讯_第2页
第2页 / 共13页
MODbus自由口通讯_第3页
第3页 / 共13页
MODbus自由口通讯_第4页
第4页 / 共13页
MODbus自由口通讯_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《MODbus自由口通讯》由会员分享,可在线阅读,更多相关《MODbus自由口通讯(13页珍藏版)》请在金锄头文库上搜索。

1、块:主程序作者:创建时间:2006.03.028:57:55修改时间:2007.04.0412:08:33符号数据类型注释变量类型TEMPTEMPTEMPTEMP程序注释:Modbus主站读与程序注意:1.ModbusRTU主站功能是通过指令库中预先编好的程序功能块实现的,该库只针对Port0口有效2. ModbusRTU主站使用了一些用户中断,在用户程序中不能禁止中断3. 该例程访问的为一个从站,若访问不同的从站,可通过改变从站地址来实现。网络11第一扫秒周期,复位各标志位和起始位SM0.1M2.02符号初始化完成地址M0.0注释Modbu主站初始化完成位网络22Modbus主站初始化完成后

2、启动读写指令初始化完成:M0.0111P1起动读写:M0.1fS、1符号地址注释初始化完成M0.0Modbu主站初始化完成位起动读写M0.1初始化完成,启动读/写:网络33网络标题网络注释初始化Modbus主站通信,EN使能:必须保证每一扫描周期都被使能(使用SMO.O)Mode模式:常为1,使能Modbus协议功能;为0时恢复为系统PPI协议Baud波特率:设为9600,要与从站波特率对应Parity校验:校验方式选择0=无校验Timeout超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1秒),允许设置的范围为132767。注意:这个值必须设置足够大以保证从站有时间

3、响应。Done完成位:初始化完成,此位会自动置1。可以用该位启动MBUS_MS读写操作Error初始化错误代码(只有在Done位为1时有效):0=无错误=校验选择非法=波特率选择非法=模式选择非法123SM0.0MBUSCTRLENSM0.0Mode#/149600-0-1000-BaudParityTimeoutDon*初始化完成:M0.0ErrorMB1符号初始化完成地址注释M0.0Modbu主站初始化完成位网络44读取从站保持寄存器的数据EN使能:同一时刻只能有一个读写功能(即MBUS_MSG使能注意:建议每一个读写功能(即MBUS_MSG都用上一个MBUS_MS指令的Done完成位来激

4、活,以保证所有读写指令循环进行(见程序)。First读写请求位:每一个新的读写请求必须使用脉冲触发Slave从站地址:可选择的范围1247RW读写操作:0=读,1=写注意:1.开关量输出和保持寄存器支持读和写功能2. 开关量输入和模拟量输入只支持读功能Addr读写从站的数据地址:选择读写的数据类型000001至000xxx开关量输出至100xxx开关量输入至300xxx模拟量输入至400xxx保持寄存器100001300001400001Count通讯的数据个数(位或字的个数)注意:Modbus主站可读/写的最大数据量为120个字(是指每一个MBUS_MS指令)DataPtr数据指针:1.如果

5、是读指令,读回的数据放到这个数据区中2.如果是写指令,要写出的数据放到这个数据区中Done读写功能完成位Error错误代码只有在Done位为1时,错误代码才有效错误代码:0=无错误1 =响应校验错误2 =未用3 =接收超时(从站无响应)4 =请求参数错误(slaveaddress,Modbusaddress,count,RW)5 =Modbus/自由口未使能6 =Modbu正在忙于其它请求7 =响应错误(响应不是请求的操作)8 =响应CR校验和错误101 =从站不支持请求的功能102 =从站不支持数据地址103 =从站不支持此种数据类型104 =从站设备故障105 =从站接受了信息,但是响应被

6、延迟106 =从站忙,拒绝了该信息107 =从站拒绝了信息108 =从站存储器奇偶错误常见的错误及其错误代码:1. 如果多个MBUS_MS指令同时使能会造成6号错误2. 从站delay参数设的时间过长会造成3号错误3. 从站掉电或不运行,网络故障都会造成3号错误起动读写:M0.1MBUS_MSGIIEN写从站完成:M2.3起动读写:M0.1P写从站完成:M2.3P符号地址读寄存器完成M2.1起动读写M0.1写从站完成M2.3网络55读取从站保持寄存器的数据完成,复位请求读寄存器完成:M2.1写从站完成:M2.3起动读写:M0.1R)1符号地址读寄存器完成M2.1起动读写M0.1写从站完成M2.

7、3网络66读取从站输入点读寄存器完成:M2.1读寄存器完成:M2.1II1P符号读从站完成读寄存器完成3.0.400018.&VB1000FirstSlaveRWAddrCountDataPtrDon读寄存器完成:M2.1ErrorMB3注释读保存寄存器完成位初始化完成,启动读/写功能写从站实际输出值完成位注释读保存寄存器完成位初始化完成,启动读/写功能写从站实际输出值完成位MBUS_MSGENFirstSlaveDoneRWErrorAddrCountDataPtr30-MB410001-8&VB2000读从站完成:M2.2地址注释M2.2读取从站输入点完成位M2.1读保存寄存器完成位Mod

8、busRTU主站指令库应用例程/主程序(0B1)网络77读取从站输入点完成,复位请求读从站完成:M2.2读寄存器完成:M2.1R)1注释读取从站输入点完成位读保存寄存器完成位符号地址读从站完成M2.2读寄存器完成M2.1网络88写从站实际输出值MBUSMSG读从站完成:M2.2#/14ENFirst读从站完成:M2.2P3.Slave1RW1.Addr8Count&VB2OO0DataPtrDon、写从站完成:M2.3Error-MB5符号读从站完成写从站完成网络99写从站实际输出值完成,复位请求写从站完成:M2.3读从站完成:M2.2R)1地址注释M2.2读取从站输入点完成位M2.3写从站实

9、际输出值完成位符号读从站完成写从站完成地址注释M2.2读取从站输入点完成位M2.3写从站实际输出值完成位ModbusRTU主站指令库应用例程/SBR_O(SBRO)块:SBR_0作者:创建时间:2006.03.028:57:55修改时间:2007.04.0410:10:17符号变量类型数据类型注释ENINBOOLININ_OUTOUTTEMP子程序注释网络11网络标题网络注释T#/ModbusRTU主站指令库应用例程/INT_O(INTO)#/14块:INT_0作者:创建时间:2006.03.028:57:55修改时间:2007.04.0410:10:17符号变量类型TEMPTEMPTEMPT

10、EMP数据类型注释中断程序注释网络11网络标题网络注释TModbusRTU主站指令库应用例程/MBUS_CTRL(SBR1)块:MBUS_CTRL作者:创建时间:2005.12.018:45:14修改时间:2007.04.0410:10:17符号变量类型IN数据类型BOOL注释ENL0.0ModeINBOOL1=Modbus,0=PPI(stopModbus)LD1BaudINDWORD1200,2400.115200LB5ParityINBYTE0=none,1=odd,2=evenLW6TimeoutINININ_OUTINTslaveresponsetimeoutinmillisecon

11、dsL8.0DoneOUTBOOLDoneflag(alwaysset)LB9ErrorOUTOUTBYTEErrorstatusLD10AC0saveTEMPDWORDLD14AC1saveTEMPDWORDLD18AC2saveTEMPDWORDLD22AC3saveTEMPDWORD#/ModbusRTU主站指令库应用例程/MBUS_MSG(SBR2)ModbusRTU主站指令库应用例程/MBUS_CTRL(SBR1)ThiscodeispropertyofSiemensEnergy&Automation,Inc.andispartoftheModbusMasterProtocolLib

12、rary.MBUS_CTRLThislibraryfunctionwillinitializeandmonitortheModbuscommunications.NOTE:ThisfunctionMUSTbecalledeveryscanfortheModbusmastertooperatecorrectly!NOTE:TheModbusmasterlibraryutilizestheuserinterruptsforsomefunctions.Theuserinterruptsmustnotbedisabled.Thepassedparametersare:Inputs:ENEnable-Mustbeenabledeveryscan(useSM0.0)ModeModbusenable/disable1=EnableModbusmasterprotocol0=DisableModbusmasterprotocol(re-enablePPIsystemprotocol)BaudBaudrate1200,2400,4800,9600,19200,38400,57600,115200ParityParitybitenableandselectio

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号