当前位置:
工控论坛
> >
产品
>
PLC
>
西门子(Siemens)PLC
我要发帖
S系列I/O前端与西门子S7-200
点击:
1580
| 回复:
5
XMH-L
关注
私信
精华:0帖
求助:0帖
帖子:9帖 | 8回
年度积分:0
历史总积分:35
注册:2004年6月14日
发表于:2004-07-30 16:36:00
楼主
S系列I/O前端与可编程控制器的连接 一、概述 PLC(可编程控制器)应用广泛,其CPU功能较强,可靠性高,但在输入输出I/O方面,PLC存在价格过高, 扩展模块不隔离,输入信号还要进行编程运算来完成采集,品牌繁多,互不兼容,用户使用起来不方便等缺 点。我公司研制生产的S系列I/O前端具有模入(AI)、模出(AO)、开入(DI)、开出(DO)等功能;规格 多样;工程量值输出; RS485通讯接口;灵活的通讯协议;扩展简捷;价格低廉。但在复杂控制等应用场合 较PLC就有所欠缺,而PLC的优势恰恰在此。 S系列I/O前端可以方便地与各种PLC构成秒级的多点数据采集和 控制系统,并可更快捷地融入已有的采集控制系统当中,大大降低系统工程费用。二者结合可以弥补各自的 缺陷, 使系统达到良好的性价比。 下面以西门子S7-200(CPU226)和S系列I/O前端连接所构成的采集控制系统为例,展示这种方案的优势 所在: 1.S系列I/O前端与PLC的接口程序软件由我公司编写并无偿提供给用户,用户只要将该段程序嵌入自己的程 序中即可。用户在PLC编程中或在上位机读写S系列I/O前端的输入输出数据时,只和PLC中的I/O数据映射 区(位于V区内)打交道,大大减少了用户工作量和编程复杂程度。 2.采用PLC的自由通讯口与S系列I/O前端连接(RS485总线),方便地扩展至少32个模块。 3.扩展系统AI/AO点最多达512点,DI/DO点最多达1024点,极大的拓展了PLC的I/O点数。 4.现场独立安装,扩展灵活,多样,调试方便。 5.模拟量为直接工程量值,无需编程运算完成采集及输出。 6.具有通道与通道之间隔离,现场与计算机隔离特性。 7.利用PLC的CPU丰富资源,使整套系统具有可编程及PID等控制功能,并可脱离上位机独立运行。 8.利用PLC的通讯扩展模块,使系统简捷地接入以太网络及PROFIBUS-DP总线网络。 9.特别适合于各种场合的秒级采集控制应用。 10. 特别适合于西门子体系(WINCC、S7系列PLC)的工控工程中,扩展大量I/O点及降低系统造价。 二、连接要点及注意事项 ● S7-200(CPU226)具有两个RS485通讯口,通讯口1(PORT0)与上位机相连;通讯口2(PORT1)以自由 口方式与S系列I/O前端的RS485通讯线相连。 ● 通讯口2(PORT1)通讯速率为38400 bps,8位数据位,1位停止位,无奇偶校验。 ● 通讯方式为主从式,PLC为主,S系列I/O前端为从。 ● PLC与S系列I/O前端的通讯电缆连接对应表 PLC的9针插头------------S系列I/O前端的接线端子 3 ------------ 37 (RS485 A ) 5 ------------ 35 (RS485 地) 8 ------------ 36 (RS485 B ) ● 用户在使用之前应将S系列I/O前端的站址设置好,并将通讯速率设置为38400 bps,通信协议为S_PLC (S系列I/O前端的其它参数,用户根据现场实际工况自行设置)。 ● 如果有多个(N个)S系列I/O前端,站址应从01开始,依次至N为止,连续不得跳跃。 ● 通讯协议(参见后面说明)的具体细节用户可忽略。S系列I/O前端与PLC的接口程序名为S_PLC 。 ● PLC将对各S系列I/O前端不停进行循环采集及控制输出,1秒之内即可将32个S系列I/O前端采集或输出控 制完毕。 ● 采集及输出控制单元皆存放于固定V变量区,由用户读取或写入(模拟信号读取或写入格式为INT)。占 用V区空间从V3900起始,占用1124字节,即到V5024结束 ,其中V3900~3933为连接S系列 I/O前端定义 前端个数及型号定义区;V4000~V5024为S系列I/O前端输入输出数据映射区,每个I/O前端分配 32个字 节,连接32个前端时共计为1024 字节(参见I/O数据映射区说明)。 三、连接程序说明 S系列I/O前端与 S7-200(CPU226)的连接程序(程序名称为S_PLC)包含一个主程序,8个子程序和3个 中断服务程序。3个中断服务程序分别是端口1(PORT1)接受信息完成中断(事件号为24)、端口1(PORT1) 发送字符中断(事件号为26)、定时中断0(事件号为10,定时中断时间间隔寄存器为SMB34)。 主程序(MAIN)进行通讯口2(PORT1)的初始化,并触发发送字符中断,启动S7-200(CPU226)对 S系 列I/O前端的通讯。当与一个S系列I/O前端通讯完成后,由接收中断程序自动启动与下一个站址S系列 I/O前 端的通讯,如此循环往复。定时中断0程序是对发送字符和接收信息完成中断超时 (>50ms)的处理,该程 序将停止对这两个中断的响应并启动下一个站址的S系列I/O前端的通讯工作。 用户只要将该段主程序(MAIN)嵌入自己的主程序中,将余下的子程序和中断服务程序置入用户系统程 序中,然后修改USER_SET子程序,根据所需连I/O前端的个数及型号定义V3900~3933变量区即可。 主程序及其说明如下: Network1 LD SM0.1 //首次扫描 DTCH 24 //关接收中断 DTCH 26 //关发送中断 DTCH 10 //关超时中断 MOVD +0,VD3996 //清除32个站的超时标志 MOVB 16#01,SMB130 //初始化PORT1口为自由口,通讯速率=38400 bps, CALL USER_SET //调用用户初始系统子程序 CALL FIRST_SET //系统第一次运行初始化 ENI //启动中断 CALL FILL_COMMAND //发送取数据命令 CALL GET_FCS1 //求命令校验码 Network2 LD SM0.0 CALL GO_PATH //启动循环 四、连接I/O定义区说明 1.连接S系列I/O前端个数定义单元: VB3900 1 字节 (用户设置) 2.站址连接S系列I/O前端型号定义单元: VB3902~VB3933 32 字节 (用户设置) 每个站址所连接的S系列I/O前端的型号均由一个字节定义,VB3902为01号站址对应连接S系列I/O前端 型号定义单元 ,VB3933为32号站址对应连接S系列I/O前端型号定义单元,用户通过修改 USER_SET子程序 完成对VB3900及 VB3902~VB3933等定义单元的更改。 各型S系列I/O前端对应代码如下: ◆ S1104=0 S1204=0 ◆ S1108=1 S1208=1 ◆ S1116=2 S1216=2 ◆ S1316=6 ◆ S1332=7 ◆ S1416=8 ◆ S1504=9 五、I/O数据映射区说明 I/O数据映射区: VB4000 1024 字节(每站占32字节) (用户读写) 以第1号站址为例,起始I/O数据映射区地址为VB4000;(第N号站址I/O数据映射区起始地址为VB4000 +(N-1)×32) ◆ S1104,S1204 4个模拟量输出占前8个字节 (VW4000) 读 字 ◆ S1108,S1208 8个模拟量输出占前16个字节 (VW4000) 读 字 ◆ S1116,S1216 16个模拟量输出占前32个字节 (VW4000) 读 字 ◆ S1316 A: 16个开关量输入占前 2 字节 (VB4000) 读 B: 8 个开关量输出占第 3 字节 (VB4002) 写 C: 8 个线圈状态占第 4 字节 (VB4003) 读 ◆ S1332 32个开关量输入占前 4 字节 (VB4000) 读 ◆ S1416 A: 16个开关量输出占前 2 字节 (VB4000) 写 B: 16个线圈状态占后 2 字节
分享到:
收藏
邀请回答
回复楼主
举报
2007的PLC
关注
私信
精华:0帖
求助:5帖
帖子:14帖 | 167回
年度积分:0
历史总积分:628
注册:2006年1月03日
发表于:2007-02-27 18:48:00
1楼
报报价?kpchen@126.com
回复
引用
举报
皓月
关注
私信
精华:9帖
求助:0帖
帖子:483帖 | 5271回
年度积分:0
历史总积分:8863
注册:2003年11月09日
发表于:2007-02-27 22:26:00
2楼
感觉还可以,不过占用太大的地址和端口资源,还有通过通讯方式处理,时时性不是很好
回复
引用
举报
西姆宏
关注
私信
精华:0帖
求助:0帖
帖子:35帖 | 852回
年度积分:0
历史总积分:1032
注册:2005年3月15日
发表于:2007-03-01 16:22:00
3楼
S1104/S1108/S1116 单价: 1780/2280/2980
S1204/S1208/S1216 单价: 1780/2280/2980
S1316/S1332 单价: 1380/1980
S1416 单价: 980
S1504 单价: 2980
回复
引用
举报
西姆宏
关注
私信
精华:0帖
求助:0帖
帖子:35帖 | 852回
年度积分:0
历史总积分:1032
注册:2005年3月15日
发表于:2007-03-01 16:29:00
4楼
此方法可使S7200采集模拟量大大增加,整体费用降低,适合一般工业控制 秒级采集的场合
回复
引用
举报
wenbaolv
关注
私信
精华:0帖
求助:19帖
帖子:88帖 | 1461回
年度积分:91
历史总积分:4554
注册:2011年7月10日
发表于:2011-07-10 16:52:21
5楼
twido中的I、Q之类的地址如何与fix里mb1中modbus地址如10000、00001对应起来?谢谢
673017183@qq.com
回复
引用
举报
热门招聘
相关主题
BMOV和FMOV有什么区别?
[19455]
2019年第一个项目——简述
[7730]
信捷PLC如何脉搏冲PLSY及DPL...
[9192]
卷取机张力控制问题
[13478]
请大家看图来说PLC的输出NPN...
[15238]
西门子smart700IE/1000IE触摸...
[13446]
西门子PLC的几种编程语言简单...
[9145]
RS232和RS485通讯
[13543]
PLC的输入输出点坏了,怎么办...
[7391]
LG K7M-DR60S 不能打开通讯端...
[7888]
官方公众号
智造工程师
客服
小程序
公众号