德令哈市西门子代理商 德令哈市西门子代理商
硬件设备:NJ301-1100(PLC),NX-ECC201(Ethercat耦合器),NX-CIF105(NX系列422/485模块),3G3MX2-AB002-ZV1软件:SycStudio案例简介:使NX_ModbusRtuCmd指令对变频器读写。
1.系统概述,硬件搭建和接线
NX-CIF105的485管脚如下图所示:
NX-CIF105与3G3MX2的接线如图所示:
如果从站有终端电阻,把A3B3短接即可,本例3G3MX2默认无终端电阻不需要短接。2.操作步骤①软件设置NJ通过Ethercat口连接NX-ECC201,节点号8。
ECC201后面直接带NX-CIF105模块。
双击软件中CIF105模块图标,进行设置:
Eventlevel为发生报错的反应,无需改动默认即可;event4下面从上往下依次为:缓存允许,波特率,422/485切换,8位数据位,奇偶校验为无校验,停止位1位,流控功能关闭,收发允许,接受大数据缓存为1000*0.1=100个字节。缓存一定要有否则Modbus从站不能正常反馈。②变频器设置A001A002设为03,其他默认,从站站号为1,NJ侧与变频器的通讯格式一致即可。
③程序编程用MODBUS指令时会用到CIF105的端口在IO映射里面右键CIF105模块,选择显示节点位置端口:
创建设备变量:
NX_ModbusRtuCmd指令说明:
相关变量说明和数据类型说明:A.DevicePort——本案例中,设置ABC为DevicePort的结构体变量。
“DeviceType”变量指定设备种类。用NX-CIF单元要设定为_DeviceNXUnit。
“NXUnit”用之前IO映射中创建的节点位置信息变量放入即可。“EcatSe”、“OptBoard”可以不使用。“PortNo”指定端口编号:1代表端口1;2代表端口2。本案例中用端口1。ST语言编程直接赋值如下图所示:
B.SleAdr——本案例中在DEF变量中设置从站站号,这里设置站号为1。3.现象和结论①写变频器频率:CmdDat里的命令数据依次为0600010FA0,CmdSize设为5个字节,代表写变频器频率40Hz。
RespDat里的反馈数据依次为0600010FA0,代表通讯成功。
②控制变频器运行:CmdDat里的命令数据依次为050000FF00,CmdSize设为5个字节,导通指令后,变频器运行灯亮,同时在RespDat看到反馈,代表通讯成功。
4.注意事项指令报错代码如下:
1.0400,0407:变量范围超出,比如字节数没写或者过大就会报0400或04072.0C0B:从站无法识别,检查接线设置,devicetype端口指定3.0C0C:一般为从站不支持功能码或者报文格式不正确4.其他报错优先检查接线设置即可
德令哈市西门子代理商 德令哈市西门子代理商