Profinet网关调试方法 点击:163 | 回复:0



三格电子

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 0回
  • 年度积分:0
  • 历史总积分:74
  • 注册:2021年10月20日
发表于:2021-11-10 11:27:37
楼主

实例中是PNModbus设备、PLC1200Modbus slave(模拟下端仪表)之间的通讯测试实例,本例我们PNModbus设备作主站,型号:SG-PN-MOD-221,下端仪表作从,下端仪表用Modbus slave模拟。PLC侧用04H指令读,10H指令写,

实际接线:PN出两个网线连接电脑和PLC, 再用485usbPN和电脑连接。(如果用户没有485usb也没关系,只要认真看懂这个最简单的实例,明白设备的运行机理,就可以直接不用slave软件模拟采集设备,直接通过485线连接实际采集设备调试

测试准备:打开电脑软件Simens(博图),新建工程,加载主站GSDSG-PNMB-MS),硬件组态,选择相应的模块,本例选择04H Read2Word_110H write2Word_1,会看到PLC为俩模块自动分配了输入地址4…7输出地址4…7,建立相应的监控表。

通讯参数配置:选择好相应的模块后,最重要的是给模块设置通讯参数,可以看到读写模块栏上面Control and Status模块,这是GSD自带用来处理通讯做的模块,匹配采集仪表的的通讯参数配置需在此块的属性下设置,本例slave的基本通讯参数为 9600 8 n 1,设置好Control and Status参数后,还需要设置04H Read2Word_110H write2Word_1属性下的Modbus NoStart address这俩个参数,Modbus No即下端仪表的地址,Start address 即从下端仪表的哪个寄存器开始读写数据。本例中读写的起始地址都从0开始,即Modbus slave建立的俩个弹窗输入或读取的地址也从0开始,这样数据位置就对应上了。

注:Modbus slave中的0其实对应的是Modbus的寄存器地址40001,而博图03H模块Start address设置为0,意思就是从下端设备的40001开始读俩个字。如果我想读取下端仪表寄存器地址从40031以后的变量数据,那么我博图模块起始地址可以设置为30,在slave软件中我就从30开始输入俩个数据,这样就可以在博图的监控表看到相应的数据。如果连接实际现场仪表给的寄存器地址是16进制,则需要先转换成十进制将对应的数填入03H模块的起始地址里,比如寄存器地址是0X0014,那么它对应的十进制为20,那我们把20相应的填入03H起始地址一栏即可

 

测试:选择PLC设备转至在线。ModBusSlave选择对应的串口连接,连接成功后,Slave 04对话01寄存器改数据,在博图监控03对应的变量IW4IW6会有相应的数据变化,在博图10H对应的变量QW4QW6输出数据,Slave 03H对话框 01寄存器会有相应的数据变化。至此,用Slave模拟下端采集仪表过PNMOD设备与PLC通讯测试成功。

image.png

image.png

2:本例用04H指令读,10H指令写,当然也可以读03H指令,写10H指令,但是在Modbus协议中03H10H指令的寄存器地址都是从40001开始,所以03H10H同时用于slave时,需要将地址错开,即把PLC博图设置界面的03H10HStart address设置为不同的地址即可。

另外,需要注意的是若采集变量是浮点型,则一个浮点数占用俩个寄存器,即俩个字,比如温度。

image.png

三格电子http://www.tj-sange.com/)品主要有多业务光端机、光猫、光纤收发器、光口交换机、噪声与振动信号采集卡、通用信号采集卡、WIFI无线采集卡等。




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师