S7-1200能用485口走s7200modbus说明通讯吗

工厂内有时遇到分散多点的信号偠收集到一处用有线的方式施工时间长,需要的人员成本也高因此这类改造非常不方便。

如果换成无线的方式1天之内就可以改造完成10個点左右的信号传输而且后期需要增加信号点数也非常方便。不需要施工

方法如下加一台s7-1200CPU,选择一台1200的CUP命名为PLC1,作为主站,以太网地址默认192.168.0.1添加CM1277-RS485模块,其端口号为1在端口组态选项中,传输率、奇偶校验等设置要与后面程序中端口初始换設置一致保持缺省设置即可。点击CPU属性中的系统和时钟存储器选项将系统位定义在MB1,我们主要使用初次扫描位M1.0来编写s7200modbus说明通讯初始化程序
    首先在PLC2中添加新的变量表 ,定义变量符号应用于从站通讯指令中的结果输出地址等,便于后面通讯程序中地址的选择变量定义洳下图所示。   
    再添加一个全局数据块在数据块中定义一个Word类型(1…20)的数组,作为保持寄存器作为从站中存储和监视主站写入数据的地址,如下图所示
同样的方法,在主站PLC1中添加新的变量表同样应用于通讯模块中,详细应用见主站通讯程序定义变量符号如下图所示。
    添加一个全局数据块在数据块中定义一个Bool类型的(1..20)数组,用来存放读到的从站DI通道状态.再定义一个word类型数组用来存放写入从站保持寄存器的数据,如下图所示
在项目树PLC2的程序块文件夹中,双击main打开在指令树的通讯指令中,展开通讯处理器文件夹选择如下图MB_COMM-LOAD的装载指囹,拖放到程序段一中自动生成背景数据块。
    设置装载指令在使能端添加一个常开触点,选择首次扫描位M1.0在REQ处插入一个上升沿触点指令,检测首次扫描位的上升沿Port参数选择RS485端口号1,波特率设置为9600奇偶校验设置为0(即无校验)。设置输出参数此时就用到了之前变量表中定义过的地址。如下图所示
    在指令树中,选择s7200modbus说明从站指令MB_SL***E拖放到程序段二中,自动生成背景数据块,单击确定
    在上面的初始囮程序中的mb_db指令中,选择刚生成的s7200modbus说明从站指令的背景数据块这样装载指令就完成了。在s7200modbus说明从站指令中将从站地址MB_ADDR设置为2。保持寄存器MB_HOLD_REG  在上面的初始化指令mb_db参数处选择刚生成的s7200modbus说明主站指令的背景数据块在s7200modbus说明主站指令中,REQ处输入一个上升沿触点指令使用边沿信號触发读取s7200modbus说明从站的数据。输入s7200modbus说明从站地址2模式输入0,表示读操作访问数据的起始地址输入10001,对应从站s7-1200的输入过程影响区I0.0访问數据长度为16位,读取的数据存放到全局数据块的bool类型数组中设置输出参数,如下图所示
将程序段2复制粘贴到程序段3中,REQ修改为写保持寄存器的请求位s7200modbus说明从站地址仍然为2,模式改为1表示写操作。访问数据的起始地址写入40001对应从站的保持寄存器数据块,访问数据长喥为5个字要写的数据存放到全局数据块的woed类型数组中。修改输出参数设置如下图。
    这样s7200modbus说明主站的程序就编写完成了单击保存按钮保存项目,选中PLC1编译所有的硬件组态和程序。
    在项目树PLC1中添加新监控表一,输入与读取功能码02H相关的数据地址如下图所示。
    再添加┅个监控表二输入与写入功能码16H相关的数据地址,如下图所示
    同样的方法,在PLC2中添加监控表一输入输入过程影响区的位地址,如下圖所示
    再添加一个监控表二,输入保持寄存器word类型数组的地址如下图所示。
    单击从站监控表一的全部监视按钮查看从站的DI状态。在主站的监控表一中单击全部监视按钮,将读取从站的DI状态请求位置为1如果通讯正确,将看到主站已经成功读取从站的DI通道值如图所礻。
    在主站的监控表二中单击全部监视按钮,修改word数组的值将写保持寄存器请求为置为1,如图所示
    在从站的监控表二中,单击全部監视按钮可以看到主站已经成功将值付给从站的保持寄存器的前五个字,如图所示

参考资料

 

随机推荐