前言: plcjs.技.术_网 三菱FX2N系列PLC是工控同仁们常用型号之一,北京西姆宏仪器仪表有限公司是专业生产I/O产品的厂商,所生产的模拟量型前端产品S1116(16通道,标准电压、电流、热电阻、热电偶混接万能输入,工程量值)可以很方便的通过RS485通讯的方式,对FX2N系列进行模拟量输入通道的扩展(从16通道到256通道,1~16个站),既方便、简单、实用,又降低了扩展成本,而且还解决了使用PLC模拟量模块不易解决的现场隔离问题和扩展模拟量通道数量上的局限,以及采集模拟信号底层编程的麻烦,特别适合于需要较多模拟量信号秒级采集应用的场合。此连接亦适用于FX2N挂接S1216(两线制变送器信号专用型,16通道,内供电)型模拟量输入前端。以下就对此给予详细说明:P.L.C.技.术.网——可编程控制器技术门户 一、S1116与FX2N通讯说明 WWW_P※LCJS_CO※M-PLC-技-.术_网 1.通讯线的连接WWW.PLCJS.COM——可编程控制器技术门户 由于S1116采用RS485方式,通讯协议为自定义(S-PLC协议),因此FX2N使FX2N-485-BD通讯板以“非协议数据传输”(RS指令)的形式与之通讯相连。RS485通讯连线采用单根屏蔽双绞线;FX2N-485-BD端SDA和RDA短接,SDB和RDB短接。接线方法如下: P.L.C.技.术.网——可编程控制器技术门户 FX2N-485-BD S1116(1号站)端子 S1116(N号站)端子WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) SDA短接RDA ———— 37(RS485A) ———— 37(RS485A)plcjs.技.术_网 SDB短接RDB ———— 36(RS485B) ———— 36(RS485B)WW.W_PLC※JS_C,OM-PL,C-技.术_网 SG ———— 35(RS485地) ———— 35(RS485地)WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) 2.通讯形式:(通讯方式为主从方式,FX2N为主,S1116为从)WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) 波特率=19200 bpsWWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) 数据长度=8位WWcW_PLCJS_COM-PLC-技.术_网 奇偶性=无 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) 停止位=1位WWW_PL※CJS_COM-PLC-技.术_网 头标志字符=无WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) 尾标志字符=无WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 最后D8120=H0C91WWW_PLCJS@_COM%-PLC-技.术_网 3.S1116前端设置WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) ●用户在使用之前应将S1116的站址设置好,并将通讯速率设置为19200bps,通信协议为S_PLC(S1116的其它参WWW_P※LCJS_COM-PLC-)技.术_网 数,用户根据现场实际工况自行设置)。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) ●如果有多个(N个)S1116,站址应从01开始,依次至N为止,连续不得跳跃。WWW.PLCJS.COM——可编程控制器技术门户 ●通讯协议(参见后面说明)的具体细节用户可忽略。S1116与FX2N的接口程序名为S_FX2N。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) ●FX2N将对各S1116进行循环读取,1秒之内约可读取8个S1116站的模拟量数据。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 二、FX2N相关软件说明(S1116与FX2N的接口程序名为S_FX2N 。)WWW_P※LCJS_CO※M-PLC-技-.术_网 串行通信采用8位格式,即1个字节数据存放在一个数据寄存器中,因M8161=1;而S1116采集的数据为一个字(两个字节),因此FX2N接收到的数据要合成到一个数据寄存器中,方便用户读取和处理。——可——编——程——控-制-器-技——术——门——户 软件使用M1作为FX2N发送数据的触发脉冲,第一次由程序开始触发,以后的触发由一次收发工作都正常结束(M8123置起)或异常结束(M8129或M8063置起)来完成。plcjs.技.术_网 FX2N发送的命令码组织由子程序P1完成,其中包括了校验码的计算和放置。在该子程序最后将站址加1,下一次将组织下一站的命令码,无论这次的收发是否正常完成。WWW_PLCJS@_COM%-PLC-技.术_网 FX2N收到的通讯数据存放在D214开始的45个数据寄存器中(S1116返回37个数据,加上FX2N自己发送的8个命令数据,共45个数据)。返回数据(指S1116发送的37个数据)的校验由P2子程序完成,若校验不对,则程序不再进行下一步填数的工作。每收到一个站的数据都要合成(收到的每通道数据放在两个数据寄存器中,P3子程序完成)移放到对应的空间存放(D260开始的数据寄存器中,每16个数据寄存器对应一个S1116的16通道数据)。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) 对于用户而言,只需在程序中简单定义D209寄存器连接S1116的个数,再运行本程序,即可收取所挂接的各个S116的模拟量采集值(数据格式INT,工程量值)。WWcW_PLCJS_COM-PLC-技.术_网 当通讯异常结束或超时,将置起该站对应的通讯异常标志位(D259),以方便用户读取判断那个站通讯出现问题,并且该站对应内容将被写入10004,用户也可以从数据层面上判断通讯是否正常。WWW_PLCJS@_COM%-PLC-技.术_网 三、占用资源WWcW_PLCJS_COM-PLC-技.术_网 1. M1WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) 2. V,ZWWW_PLCJS_COM-PLC-技.术_网 3. D200~D260+(站数×16),如果没有那么多站,则其对应空间将释放。P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 4. 不占用中断WWcW_PLCJS_COM-PLC-技.术_网 四、寄存器分配使用说明W1WW_P4LCJS_COM-PLC-技.术_网 1. D208: 站号WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) 2. D209: 站数(注意:需要由用户输入实际挂接的站数)WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) 3. D210~D213: 中间计算用WWW_PLCJS_COM-PLC-技.术_网 4. D214~D258: 通讯接收到的数据WW.W_PLC※JS_C,OM-PL,C-技.术_网 5. D259: 通讯异常标志(每站一位,16个站对应16位,正常为0,异 WWW_P※LCJS_COM-PLC-)技.术_网 常为1,最低位为1号站)P.L.C.技.术.网——可编程控制器技术门户 6. D260~D275: 第一站16通道数据WWW_PLC※JS_COM-PmLC-技.术_网 五、程序清单WWW_PLCJS_COM-PLC-技.术_网 LD M8002 // 第一次扫描WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) MOV K1 D208 // 第一个站号写入D208WWcW_PLCJS_COM-PLC-技.术_网 MOV K16 D209 // 站数写入D209(本行程序中挂接站数由用户根据 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 需要自行定义!可选范围K1~K16,即1~16个站)WWW.PLCJS.COM——可编程控制器技术门户 MOV K0 D259 // 清除各站通讯异常标志位WWW.PLCJS.COM——可编程控制器技术门户 MOV H0C91 D8120 // 初始化通信格式(BPS=19200,8位数据位,1位停WWW.PLCJS.COM——可编程控制器技术门户 // 止位)WW.W_PLC※JS_C,OM-PL,C-技.术_网 SET M8161 // 8位数处理P.L.C.技.术.网——可编程控制器技术门户 SET M1 // 触发通讯脉冲WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) MOV K20 D8129 // 设置通讯超时时钟为200毫秒P.L.C.技.术.网——可编程控制器技术门户 LD M8000WWW_P※LCJS_COM-PLC-)技.术_网 RS D200 K8 D214 K45 // 串行数据传送命令。从D200开始发WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) // 送8个字节,从D214接受45个字节。WWW_P※LCJS_CO※M-PLC-技-.术_网 LDP M1——可——编——程——控-制-器-技——术——门——户 CALL P1 // 根据站号写入发送内容WWW.PLCJS.COM——可编程控制器技术门户 SET M8122 // 发送请求,开始发送(发送结束时自动复位)WW.W_PLCJS_COM-PLC-技.术_网 LDF M8122plcjs.技.术_网 RST M1 // 清除触发脉冲WWW_PLCJS@_COM%-PLC-技.术_网 LD M8123 // 通信结束,并且无超时标志。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) LDI M8129WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) ANBWWW_PL※CJS_COM-PLC-技.术_网 CALL P2 // 将接受到的数据写入指定位置P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 SET M1 // 触发下一次通讯plcjs.技.术_网 RST M8123 // 清除通讯结束标志位W1WW_P4LCJS_COM-PLC-技.术_网 LD M8123 // 通讯超时,且结束P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 LD M8129——可——编——程——控-制-器-技——术——门——户 ANBWWW_PL※CJS_COM-PLC-技.术_网 CALL P5 // 往对应站号的空间写入10004,以指示数据异常WWW_P※LCJS_COM-PLC-)技.术_网 RST M8123 // 清除通讯结束标志位P.L.C.技.术.网——可编程控制器技术门户 RST M8129 // 清除超时标志位WW.W_PLCJS_COM-PLC-技.术_网 SET M1 // 触发下一次通讯P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 WWW_PLCJS_COM-PLC-技.术_网 LD M8063 // 通讯错误WW.W_PLC※JS_C,OM-PL,C-技.术_网 CALL P5 // 往对应站号的空间写入10004,以指示数据异常WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) SET M1 // 触发下一次通讯WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) RST M8063 // 清除通讯错误标志WW.W_PLCJS_COM-PLC-技.术_网 FEND // 主程序结束WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) P1 // 写入发送内容 WWW.PLCJS.COM——可编程控制器技术门户 LD M8000WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) MOV D208 D200P.L.C.技.术.网——可编程控制器技术门户 MOV H0004 D201W1WW_P4LCJS_COM-PLC-技.术_网 MOV H0000 D202P.L.C.技.术.网——可编程控制器技术门户 MOV H0000 D203WW.W_PLCJS_COM-PLC-技.术_网 MOV H0000 D204plcjs.技.术_网 MOV H0010 D205W1WW_P4LCJS_COM-PLC-技.术_网 CCD D200 D206 K6 // 计算校验码WWW_PL※CJS_COM-PLC-技.术_网 MOV D207 D206WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) MOV H00FF D207WW.W_PLC※JS_C,OM-PL,C-技.术_网 INC D208 // 下一个站号WWW_PLCJS_COM-PLC-技.术_网 LD> D208 D209WWW_P※LCJS_COM-PLC-)技.术_网 MOV K1 D208W1WW_P4LCJS_COM-PLC-技.术_网 SRETWWW_PLCJS_COM-PLC-技.术_网 P2 // 计算接受到的数据的校验码,若正确则将数据写入指定位置P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 LD M8123WWW_PLC※JS_COM-PmLC-技.术_网 CCD D222 D210 K35WWW_PLCJS_COM-PLC-技.术_网 LD= H00FF D258WWW_PLCJS@_COM%-PLC-技.术_网 LD= D211 D257WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) ANB——可——编——程——控-制-器-技——术——门——户 CALL P3P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 SRETWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) P3 // 将接受到的数据写入该站对应位置WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) LD M8123WW.W_PLC※JS_C,OM-PL,C-技.术_网 MOV D208 D210WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户) DEC D210WWW_P※LCJS_CO※M-PLC-技-.术_网 MUL D210 K16 D212WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) MOV D212 ZWWW_PLCJS_COM-PLC-技.术_网 MOV K0 VWWW_PLC※JS_COM-PmLC-技.术_网 P4 W1WW_P4LCJS_COM-PLC-技.术_网 LD< Z K32WWW_PLCJS@_COM%-PLC-技.术_网 MOV D225V D210W1WW_P4LCJS_COM-PLC-技.术_网 ROL D210 K8WWW_P※LCJS_COM-PLC-)技.术_网 ADD D210 D226V D260ZP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 INC ZWWW.PLCJS.COM——可编程控制器技术门户 ADD V K2 VWW.W_PLC※JS_C,OM-PL,C-技.术_网 CJ P4WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) LD M8123——可——编——程——控-制-器-技——术——门——户 MOV D208 D210——可——编——程——控-制-器-技——术——门——户 MOV K1 D211WWcW_PLCJS_COM-PLC-技.术_网 P7W1WW_P4LCJS_COM-PLC-技.术_网 LD> D210 K1WWW_PLCJS@_COM%-PLC-技.术_网 ROL D211 K1WWW_PL※CJS_COM-PLC-技.术_网 DEC D210WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) CJ P7WWW.PLCJS.COM——可编程控制器技术门户 LD M8000P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 WXOR HFFFF D211 D211 WWW_PLCJS_COM-PLC-技.术_网 WAND D211 D259 D259 // 清除该站对应的通讯异常标志位WWW_PL※CJS_COM-PLC-技.术_网 SRETWWcW_PLCJS_COM-PLC-技.术_网 P5 // 往该站对应位置写入10004,并置起该站对应通讯异常标志位WWW_P※LCJS_CO※M-PLC-技-.术_网 LD M8000WWW_PLC※JS_COM-PmLC-技.术_网 MOV D208 D210WWcW_PLCJS_COM-PLC-技.术_网 DEC D210WWW_PLCJS_COM-PLC-技.术_网 MUL D210 D16 D212WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) MOV D212 ZWWW_PLC※JS_COM-PmLC-技.术_网 MOV K0 VWWW_P※LCJS_COM-PLC-)技.术_网 P6WWW_P※LCJS_COM-PLC-)技.术_网 LD< V K16WWW_P※LCJS_COM-PLC-)技.术_网 MOV K10004 D260Zplcjs.技.术_网 INC ZWW.W_PLC※JS_C,OM-PL,C-技.术_网 INC VW1WW_P4LCJS_COM-PLC-技.术_网 CJ P6P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 LD M8000WWcW_PLCJS_COM-PLC-技.术_网 MOV D208 D210P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 MOV K1 D211W1WW_P4LCJS_COM-PLC-技.术_网 P8WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) LD> D210 K1WWW_PLC※JS_COM-PmLC-技.术_网 ROL D211 K1WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) DEC D210P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 CJ P8 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) LD M8000WW.W_PLC※JS_C,OM-PL,C-技.术_网 WOR D211 D259 D259P.L.C.技.术.网——可编程控制器技术门户 SRETWWW_PL※CJS_COM-PLC-技.术_网 ENDplcjs.技.术_网 六、通信协议(S-PLC协议,S1116部分)WW.W_PLC※JS_C,OM-PL,C-技.术_网 1.命令码(8字节)WWW_PL※CJS_COM-PLC-技.术_网 站址,4,0,0,0,16,校验码,H0FF。WWW_PLC※JS_COM-PmLC-技.术_网 校验码为前6字节的异或值。WWW_PLCJS@_COM%-PLC-技.术_网 2.返回码(37字节)WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 站址,4,32,数据(16×2字节),校验码,H0FF。WWW.PLCJS.COM——可编程控制器技术门户 校验码为前35字节的异或值。WWW_PLC※JS_COM-PmLC-技.术_网 注:本连接方法亦适用于S3000系列可配置I/O单元的S3116及S3216 I/O卡件。WWW_PLC※JS_COM-PmLC-技.术_网
|