发表于:2019/11/21 21:45:23
#0楼
本贴来自<120例> 1.5.1章节
在somachine V3.1中,提供了一种非常好用的modbus通讯扫描器,在使用时只需要添加相应的从站.
并针对每个从站进行通信参数的配置后,该扫描器会按照预先设定好的方式对这些从站进行通讯处理.
新建一个项目文件,并将串口下的驱动程序删除,双击串口对通信口的通信参数进行设置.
(通信参数必须与从站保持一致,从站的站地址不能重复)
鼠标右键单击串口,添加modbus IOScanner设备.
添加完成,设置modbus 的传输方式(必须与从站保持一致)与超时时间等参数
鼠标右键单击 modbus IOScanner ,参加从站设备
添加完成后,设置此从站地址,(必须与要连接的从站地址保持一致.)
在modbus slave init中,添加相应的参数,以方便在上电时对从站的参数进行初始化.
需要注意的是如果PLC在从站还未准备好时就已经上电.则初始化的数据会丢失,
这些数据只在PLC上电运行后发一次,此时,从站不在线也会造成初始化数据失败.
在 modbus slave channel中,可以添加与从站的通信参数.如下:
点击"Add channel"可添加一笔通信,点击"delete"可删除光标选择的该笔通信,
点击"edit"可重新编辑光标选择的该笔通信.
在modbuschannel对话框中,可设置该笔通信的名字,数据访问类型,通信触发方式,
读取或写入的从站寄存器地址等.
本例中,循环读取(20ms)从站中寄存器地址为16#0000的数据,读取寄存器数量为1个
当发生通信错误时被设置为0.
在modbus master i/o mapping中可以看到此笔读取数据被分配给%IW1这个地址,
也就是说读取该从站的16#0000寄存器的数据被存储在%IW1中,当通信发生错误时
%IW1的数据被强制写为0.
modbus IOScanner 功能被启动之后,PLC即使在停止后仍会正常运行,从站数据改变时,主站仍可以刷新到从站的新数据.
在TM218中,如果从站的通信线断开后再次恢复后,主站不具备自动恢复通信功能,
因此,在程序可以调用一个通信诊断功能块,当发生通信错误时,自动触发通信复位.
当存在多个从站时,每个从站都需要增加一个通信诊断功能块.
功能块名字必须与从站名字相同,而无法对此功能块进行自定义名称.
但在tm238 tm258中,如果从站的通信线断开再恢复后,主站具备自动恢复通信功能,不需要格外添加诊断功能块
本贴实例程序
在somachine V3.1中,提供了一种非常好用的modbus通讯扫描器,在使用时只需要添加相应的从站.
并针对每个从站进行通信参数的配置后,该扫描器会按照预先设定好的方式对这些从站进行通讯处理.
新建一个项目文件,并将串口下的驱动程序删除,双击串口对通信口的通信参数进行设置.
(通信参数必须与从站保持一致,从站的站地址不能重复)
鼠标右键单击串口,添加modbus IOScanner设备.
添加完成,设置modbus 的传输方式(必须与从站保持一致)与超时时间等参数
鼠标右键单击 modbus IOScanner ,参加从站设备
添加完成后,设置此从站地址,(必须与要连接的从站地址保持一致.)
在modbus slave init中,添加相应的参数,以方便在上电时对从站的参数进行初始化.
需要注意的是如果PLC在从站还未准备好时就已经上电.则初始化的数据会丢失,
这些数据只在PLC上电运行后发一次,此时,从站不在线也会造成初始化数据失败.
在 modbus slave channel中,可以添加与从站的通信参数.如下:
点击"Add channel"可添加一笔通信,点击"delete"可删除光标选择的该笔通信,
点击"edit"可重新编辑光标选择的该笔通信.
在modbuschannel对话框中,可设置该笔通信的名字,数据访问类型,通信触发方式,
读取或写入的从站寄存器地址等.
本例中,循环读取(20ms)从站中寄存器地址为16#0000的数据,读取寄存器数量为1个
当发生通信错误时被设置为0.
在modbus master i/o mapping中可以看到此笔读取数据被分配给%IW1这个地址,
也就是说读取该从站的16#0000寄存器的数据被存储在%IW1中,当通信发生错误时
%IW1的数据被强制写为0.
modbus IOScanner 功能被启动之后,PLC即使在停止后仍会正常运行,从站数据改变时,主站仍可以刷新到从站的新数据.
在TM218中,如果从站的通信线断开后再次恢复后,主站不具备自动恢复通信功能,
因此,在程序可以调用一个通信诊断功能块,当发生通信错误时,自动触发通信复位.
当存在多个从站时,每个从站都需要增加一个通信诊断功能块.
功能块名字必须与从站名字相同,而无法对此功能块进行自定义名称.
但在tm238 tm258中,如果从站的通信线断开再恢复后,主站具备自动恢复通信功能,不需要格外添加诊断功能块
本贴实例程序
附件:
[本地下载]水平一般,能力有限.如有错误之处.欢迎并感谢指出.我一定认真学习积极改正.请勿DISS.