设为首页  |  加入收藏    
首页
关于我们 产品介绍 应用方案 下载中心 客户留言 联系我们
     
应用方案
应用方案  
您现在的当前位置:首页 > 应用方案

S1116和三菱FX2N的连接使用说明
发布日期:2012-8-22  浏览:6588

     前言:
    三菱FX2N系列PLC系列是工控同仁们常用型号之一,北京西姆宏仪器仪表有限公司是专业生产I/O产品的厂商,所生产的模拟量型前端产品S1116(16通道,标准电压、电流、热电阻、热电偶混接万能输入,工程量值)可以很方便的通过RS485通讯的方式,对FX2N系列进行模拟量输入通道的扩展(从16通道到256通道,1~16个站),既方便、简单、实用,又降低了扩展成本,而且还解决了使用PLC模拟量模块不易解决的现场隔离问题和扩展模拟量通道数量上的局限,以及采集模拟信号底层编程的麻烦,特别适合于需要较多模拟量信号秒级采集应用的场合。此连接亦适用于FX2N挂接S1216(两线制变送器信号专用型,16通道,内供电)型模拟量输入前端。以下就对此给予详细说明:
一、 S1116与FX2N通讯说明
1.通讯线的连接
由于S1116采用RS485方式,通讯协议为自定义(S-PLC协议),因此FX2N使用FX2N-485-BD通讯板以“非协议数据传输”(RS指令)的形式与之通讯相连。RS485通讯连线采用单根屏蔽双绞线;FX2N-485-BD端SDA和RDA短接,SDB和RDB短接。接线方法如下:
FX2N-485-BD               S1116(1号站)端子            S1116(N号站)端子
SDA短接RDA    ————     37(RS485A)    ————      37(RS485A)
SDB短接RDB    ————     36(RS485B)    ————      36(RS485B)
SG           ————    35(RS485地)   ————      35(RS485地)
2.通讯形式:(通讯方式为主从方式,FX2N为主,S1116为从)
       波特率=19200 bps
       数据长度=8位
    奇偶性=无
       停止位=1位
       头标志字符=无
       尾标志字符=无
最后D8120=H0C91
 3.S1116前端设置

 ● 用户在使用之前应将S1116的站址设置好,并将通讯速率设置为19200 bps,通信协议为S¬_PLC(S1116的其它参数,用户根据现场实际工况自行设置)。
●  如果有多个(N个)S1116,站址应从01开始,依次至N为止,连续不得跳跃。
●  通讯协议(参见后面说明)的具体细节用户可忽略。S1116与FX2N的接口程序名为S_FX2N。
● FX2N将对各S1116进行循环读取,1秒之内约可读取8个S1116站的模拟量数据。

二、 FX2N相关软件说明(S1116与FX2N的接口程序名为S_FX2N 。)
    串行通信采用8位格式,即1个字节数据存放在一个数据寄存器中,因此M8161=1;而S1116采集的数据为一个字(两个字节),因此FX2N接收到的数据要合成到一个数据寄存器中,方便用户读取和处理。
    软件使用M1作为FX2N发送数据的触发脉冲,第一次由程序开始触发,以后的触发由一次收发工作都正常结束(M8123置起)或异常结束(M8129或M8063置起)来完成。
    FX2N发送的命令码组织由子程序P1完成,其中包括了校验码的计算和放置。在该子程序最后将站址加1,下一次将组织下一站的命令码,无论这次的收发是否正常完成。
    FX2N收到的通讯数据存放在D214开始的45个数据寄存器中(S1116返回37个数据,加上FX2N自己发送的8个命令数据,共45个数据)。返回数据(指S1116发送的37个数据)的校验由P2子程序完成,若校验不对,则程序不再进行下一步填数的工作。每收到一个站的数据都要合成(收到的每通道数据放在两个数据寄存器中,P3子程序完成)移放到对应的空间存放(D260开始的数据寄存器中,每16个数据寄存器对应一个S1116的16通道数据)。
    对于用户而言,只需在程序中简单定义D209寄存器连接S1116的个数,再运行本程序,即可收取所挂接的各个S116的模拟量采集值(数据格式INT,工程量值)。
    当通讯异常结束或超时,将置起该站对应的通讯异常标志位(D259),以方便用户读取判断那个站通讯出现问题,并且该站对应内容将被写入10004,用户也可以从数据层面上判断通讯是否正常。

三、 占用资源
1. M1
2. V,Z
3. D200~D260+(站数×16),如果没有那么多站,则其对应空间将释放。
4. 不占用中断
四、 寄存器分配使用说明
1. D208:  站号
2. D209:  站数(注意:需要由用户输入实际挂接的站数)
3. D210~D213: 中间计算用
4. D214~D258: 通讯接收到的数据
5. D259:  通讯异常标志(每站一位,16个站对应16位,正常为0,异常为1,最低位为1号站)
6. D260~D275: 第一站16通道数据

五、 程序清单
LD    M8002           // 第一次扫描
MOV   K1  D208  // 第一个站号写入D208
MOV   K16  D209  //  站数写入D209(本行程序中挂接站数由用户根据需要自行定义!
可选范围K1~K16,即1~16个站)
MOV   K0   D259   //  清除各站通讯异常标志位
MOV   H0C91 D8120    //   初始化通信格式(BPS=19200,8位数据位,1位停
//   止位)
SET  M8161            //   8位数处理
SET  M1      //  触发通讯脉冲
MOV  K20  D8129    //   设置通讯超时时钟为200毫秒

LD  M8000
RS  D200 K8  D214  K45 // 串行数据传送命令。从D200开始发
// 送8个字节,从D214接受45个字节。
LDP  M1
CALL P1                // 根据站号写入发送内容
SET  M8122             // 发送请求,开始发送(发送结束时自动复位)
LDF  M8122
RST  M1                // 清除触发脉冲

LD  M8123             // 通信结束,并且无超时标志。
LDI  M8129
ANB
CALL P2                 // 将接受到的数据写入指定位置
SET  M1                //  触发下一次通讯
RST  M8123             //  清除通讯结束标志位

LD   M8123             // 通讯超时,且结束
LD  M8129
ANB
CALL P5                 // 往对应站号的空间写入10004,以指示数据异常
RST  M8123              //  清除通讯结束标志位
RST  M8129              //  清除超时标志位
SET  M1                 //  触发下一次通讯
 
LD   M8063              //   通讯错误
CALL   P5     // 往对应站号的空间写入10004,以指示数据异常
SET  M1    // 触发下一次通讯
RST  M8063    //  清除通讯错误标志
FEND             // 主程序结束

P1                // 写入发送内容
LD  M8000
MOV  D208  D200
MOV H0004 D201
MOV H0000 D202
MOV H0000 D203
MOV H0000 D204
MOV H0010 D205
CCD D200 D206 K6  // 计算校验码
MOV  D207 D206
MOV H00FF D207
INC  D208     // 下一个站号
LD>  D208 D209
MOV K1  D208
SRET

P2                 // 计算接受到的数据的校验码,若正确则将数据写入指定位置
LD   M8123
CCD D222 D210 K35
LD=  H00FF D258
LD=  D211 D257
ANB
CALL P3
SRET

P3                  // 将接受到的数据写入该站对应位置
LD  M8123
MOV D208 D210
DEC D210
MUL D210 K16  D212
MOV D212 Z
MOV K0  V
P4
LD<  Z  K32
MOV  D225V D210
ROL D210 K8
ADD D210 D226V D260Z
INC  Z
ADD V  K2  V
CJ  P4
LD  M8123
MOV D208 D210
MOV K1  D211
P7
LD>  D210  K1
ROL  D211 K1
DEC D210
CJ  P7
LD     M8000
WXOR HFFFF D211 D211        
WAND D211  D259 D259         // 清除该站对应的通讯异常标志位
SRET

P5              // 往该站对应位置写入10004,并置起该站对应通讯异常标志位
LD  M8000
MOV D208 D210
DEC  D210
MUL D210 D16  D212
MOV D212  Z
MOV  K0  V
P6
LD<  V  K16
MOV K10004 D260Z
INC  Z
INC  V
CJ   P6
LD  M8000
MOV D208 D210
MOV K1  D211
P8
LD>  D210 K1
ROL D211 K1
DEC D210
CJ   P8
LD  M8000
WOR D211 D259 D259
SRET
END

六、通信协议(S-PLC协议,S1116部分)
 1.命令码(8字节)
    站址,4,0,0,0,16,校验码,H0FF。
    校验码为前6字节的异或值。
 2.返回码(37字节)
    站址,4,32,数据(16×2字节),校验码,H0FF。
       校验码为前35字节的异或值。
注:本连接方法亦适用于S3000系列可配置I/O单元的S3116及S3216 I/O卡件。
 

版权所有: 北京西姆宏仪器仪表有限公司 京ICP备05035633号 设计制作:无忧网络

股票配资-配资平台-太原配资公司-在线配资平台-乐牛配资