商铺名称:上海斌勤电气技术有限公司
联系人:康奎(先生)
联系手机:
固定电话:
企业邮箱:192061030@qq.com
联系地址:上海市松江区三新北路1800弄(松江电子商务园区)
邮编:201501
联系我时,请说是在焊材网上看到的,谢谢!
西门子S7-200CN EM235
S7-200CN, EM235 模拟量输入输出模块,4输入/1输出
SIEMENS西门子希殿电气技术有限公司
联系人:康奎 电话:021-60571249
传真:021-60541249 邮箱:192061030@qq.com
工作QQ:192061030 手机:186-2106-1383
1.概述
2.硬件需求
•® S7-1214C AC/DC/RLY
•® S7-1200编程软件 STEP 7 Basic V10.5
4.组态
4. 1 S7-1200 配置
•® 添加S7-1200 设备 CPU1214C;
4. 2 S7-1200 PLC 编程
•® 打开全局DB2,输入2个数组类型数据,每个数组有16 个元素;
•® 创建两个Watch table(Watch table_1, Watch table_2) 用来观察DB2的实时状态;
4. 3 S7-200 配置
•® 设置模块位置,可以使用“读取模块”来自动识别;
•® 设置模块CP243-1 IT 的IP地址192.168.0.8和子网掩码255.255.255.0;
•® 设置模块的连接数1 ,最多只能设置8个,也就是说S7-200可同时与最多 8 个 S7 通讯伙伴进行通讯;
•® 建立客户端连接 Connection_1,设置服务器传输层服务接入点 TSAP 03.01和服务器IP地址 192.168.0.18 , TSAP 由 2 个字节组成。第一个字节为连接资源。第二个字节为通讯模板的机架号和插槽号;
•® 创建读取数据传输 PeerMessage_1, 读取服务器 16字节 DB2.DBB0~ DB2.DBB15 到VB0~VB15;
•® 创建读取数据传输 PeerMessage_2, 将 16字节VB16~VB31写入服务器DB2.DBB16~ DB2.DBB31 ;
•® 为配置分配存储区;
4. 4 S7-200 PLC 编程
其中CP_Ready 为CP 243-1 IT 的状态(0 未准备就绪,1 准备就绪),CH_Ready 为每个通道或 IT 服务的状态(0通道 ,值为256):Error 为出错或报文代码;
•® 这样以后就可以通过以太网接口进行下载,将PG/PC接口设为TCP/IP连接;
•® 在STEP 7-MicroWIN 中主程序中,调用子程序ETH0_XFR写入服务器数据,指定相应的连接通道和数据;
•® 将程序下载到S7-200 CPU 中;
4. 5 检测 S7-1200 与S7-200 PLC 通信结果
•® 从S7-200 程序中可知,在M11.0 从0变为1时,将S7-200的数据VB16~VB31 写入S7-1200 的DB2.DBB16~DB2.DBB31中;
注意:
1 系统配置
1.1软硬件配置
在进行PLC编程之前,请确认USS协议库已经安装,如图1-1。
2.2 S7-200与控制单元间的接线
CU240E-2的控制端子排如图1-2,从控制单元底部看,共有5个接线端子,其中2号端子为RS485P,3号端子为RS485N,用于通信数据的发送和接收。
S7-200作为USS通信主站,其通信端口和变频器从站的接线如图1-3。在通信网络的首、末端需要使用终端电阻。
2.1 地址设置
2.2 参数设置
表2-1
3.1使用USS协议的初始化模块初始化S7-200的PORT0端口
功能块说明:
注: 此处以及下文的“功能块说明”仅介绍了功能块内的主要管脚
输入:
3.2 使用USS_CTRL功能块控制变频器的运行
3.2.1 USS_CTRL功能块编程
功能块说明:
输入:
EN:通常情况总是激活。
输出:
Error:错误代码。有关错误代码说明,请参考表3-1。
表3-1
3.2.2 分配库存储区,编译,下载。
分配库存储区之后,编译并下载。
3.2.3 控制变频器运行。
3.3.1 使用USS_RPM_R功能块读取浮点型参数
功能块说明:
编译、下载之后,打开状态表监控,如图3-7。把M6.0,从0强制为1后,VD560返回值为0.33。即r27=0.33。
3.3.2 使用USS_WPM_R功能块修改浮点型参数
西门子S7-200CN EM235
功能块说明:
编译、下载之后,打开状态表监控,如图3-9。把M7.0,从0强制为1后,VD630的当前值15.0将会写入参数P1120的下标0中,即P1120.0=15.0。
3.3.3 使用USS_RPM_W功能块读取U16(无符号16位)类型参数
功能块说明:
编译、下载之后,打开状态表监控,如图3-11。把M2.0,从0强制为1后,VDW160返回值为440。即P210=440。
3.3.4 使用USS_WPM_W功能块修改U16(无符号16位)类型参数
功能块说明:
编译、下载之后,打开状态表监控,如图3-13。把M3.0,从0强制为1后,VW230的当前值2将会写入参数P1211的下标0中,即P1211=2。
3.3.5 使用USS_RPM_D功能块读取U32(无符号32位)类型参数
SIEMENS西门子希殿电气技术有限公司
联系人:康奎 电话:021-60571249
传真:021-60541249 邮箱:192061030@qq.com
工作QQ:192061030 手机:186-2106-1383
通过以太网可以实现S7-1200与S7-200连接通信。S7-200可以使用 模块(CP243-1或CP 243-1 IT)连接到以太网上,该模块提供S7 通信的功能,既可作为客户机,也可以作为服务器,可以同时与最多8个S7 通信伙伴进行通信;S7-1200 集成以太接口,提供S7 通信的功能,只能作为服务器,可以同时建立3 个通信连接。
下面会用一个实例来描述S7-200 如何与S7-1200建立通信连接。
图1: 实例网络拓扑图
•® CPU 224 XP CN DC/DC/DC
•® CP243-1 IT
•® SCALANCE X204-2
•® PG/PC(使用编程电缆)
3.软件需求
•® S7-200 编程软件 STEP 7 –MicroWIN V4.0 SP6
•® 使用STEP 7 Basic 创建项目“comS7200”;
图2: 创建项目
图3: 添加PLC设备
•® 在Program blocks 下,添加程序块(DB1,DB2,DB3),其中DB1和DB3为符号DB(选择 Symbolic access only),DB3为绝对地址DB(不选择 Symbolic access only) , S7 通信只支持绝对地址DB 寻址通信;
图4: 创建绝对地址DB2
图5: 在DB2中添加数据
•® 将程序下载到PLC CPU1214C 中。
使用STEP 7-MicroWIN 中以太网向导将CP243-1 IT 配置为 S7 客户端。
•® 通过菜单打开以太网向导工具;
图6: 以太网向导
图7: 模块位置设置
图8: 设置IP 地址
图9: 设置模块连接数;
图10: 配置连接
图11: 配置数据传输0
图12: 配置数据传输1
图13: 分配存储区
•® 在STEP 7-MicroWIN 中主程序中,调用子程序ETH0_CTRL;
图14: 调用ETH0_CTRL
•® 程序建立后,需通过PPI连接 将程序块和数据块下载到S7-200 CPU中;
图15: 设置 PG/PC 接口CP5611(PPI)
•® 在STEP 7-MicroWIN 中主程序中,调用子程序ETH0_XFR读取服务器数据,指定相应的连接通道和数据;
图16:调用ETH0_XFR 读取服务器
图17:调用ETH0_XFR 写入服务器
•® 从S7-200 程序中可知,在M10.0 从0变为1时,读取S7-1200的数据DB2.DBB0~DB2.DBB15 到VB0~VB15中;
图18:S7-1200 DB2.DBB0~DBB15
图19:S7-200 VB0~VB15
图20:S7-200 VB16~VB31
图21:S7-1200 DB2.DBB16~DBB31
5.总结
S7 1200 与 S7-200 通过 S7通信的基本原理如下图所示:
图22:S7-200与S7-1200 通信原理
CP 243-1 IT 可支持一个或多个远程通讯伙伴的最多 8 个 S7 通讯通道到客户机(最多212 字节)或服务器。CP 243-1 IT 可以根据客户机/服务器原理在每个通道运行。每个通道,每次只能接收、处理或响应(主动响应或被动响应)一个请求。只有在发送响应后,CP 243-1 IT 通讯处理器才能接受其它请求。
(1)配备支持USS通信功能控制单元G120变频器,异步电机。本例中,使用的控制单元是CU240E-2,固件版本V4.5。
(2)S7-200 PLC,与PC的连接电缆。本例中,使用的是CPU224 XP CN,连接电缆使用CP5512。
(3)安装了Step7 Micro-Win V4.0软件和USS协议库的PC机。本例中,使用的是Step7 Micro-Win V4.0 SP6,USS协议库为2.3版本。
西门子标准库指令(包含USS协议库)下载地址:http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=S0010
图1-1
图1-2
图1-3
对于S7-200,需要在通信端口端子3和8之间,连接一阻值为120欧姆的电阻。
对于变频器,把通信网络末端的CU240E-2终端电阻拨码开关拨到ON位置即可(位置在图1-1中,标号⑨);中间位置的CU240E-2,终端电阻拨码开关必须拨到OFF位置。
本例中,S7-200(CPU224 XP CN)使用通信端口Port 0和变频器进行通信。
2 变频器设置
变频器的USS通信地址可以通过控制单元上的总线地址拨码开关(位置在图1-1中,标号⑤)进行设置。当地址拨码开关的位置都为OFF时,也可用过参数P2021进行设置。
除了设置地址之外,还需要对变频器一些基本的通信参数进行设置,才可以进行USS通信,如表2-1所示:
参数
描述
P0015 = 21
变频器宏程序。
15:通过现场总线控制
设置方法:P10=1 → P15=21 → P10=0
p2030 = 1
现场总线协议选择
1:USS协议
p2020
现场总线波特率
设置范围是 4800 bit/s … 187500 bit/s,出厂为 19200 bit/s
本例使用:6(9600)
P2021
USS地址(在地址拨码开关都为OFF时,才有效)
本例使用:3
p2040
过程数据监控时间
指没有收到过程数据时发出报警的延时。
注:必须根据从站数量、总线波特率加以调整,出厂设置为 100 ms。
3 PLC编程
图3-1
功能,未说明的管脚功能,请参考Step7 Micro-Win V4.0软件的
帮助文件。
EN:使能。每次改变通讯状态都应该执行一次初始化指令,EN信号应该通过脉冲激活。本例中,Port 0端口一直作为USS通信端口使用,因此使用SM0.1初始化一次即可。
Mode:1——为端口0指定USS协议,并启用该协议。
Baud:波特率,应与变频器定义的波特率一致。本例中,使用9600。
Active:激活驱动器地址,参考图3-2。本例中,使用2#1000,即激活驱动器地址3。
图3-2 激活驱动器地址3和5
图3-3
RUN:启动变频器。0-停止;1-启动。
OFF2:自由停车。0-正常;1-自由停车。
OFF3:快速停止。0-正常;1-快速停止。
F _ACK:故障复位。通过上升沿对变频器进行故障复位。
DIR:运行方向。0-正转;1-反转
Drive:变频器USS地址,0-31。本例使用3。
Speed~:速度设定值,通过百分比进行设定,范围 -200.0~~200.0%。
Status:变频器返回的状态字。有关G120变频器状态字,请参考《参数手册》有关r52参数的说明。
Speed:变频器返回的速度实际值的百分比。
Run_EN:变频器运行状态。0-停止;1-运行。
D_Dir:变频器运行方向。0-正转;1-反转。
Inhibit:变频器禁止位状态。0-正常;1-禁止。
Fault:变频器故障状态。0-正常;1-故障。
错误代码
说明
0
无错。
1
驱动器不应答。
2
检测到来自驱动器的应答中检验和错误。
3
检测到来自驱动器的应答中校验错误。
4
来自用户程序的干扰造成错误。
5
尝试非法命令。
6
提供非法驱动器地址。
7
未为USS协议设置通讯端口。
8
通讯端口正在忙于处理指令。
9
驱动器速度输入超出范围。
10
驱动器应答长度不正确。
11
驱动器应答第一个字符不正确。
12
驱动器应答中的字符长度不受USS指令支持。
13
错误的驱动器应答。
14
提供的DB_Ptr地址不正确。
15
提供的参数号不正确。
16
选择了无效协议。
17
USS激活,不允许改动。
18
指定了非法波特率。
19
无通讯:驱动器未设为激活。
20
驱动器应答中的参数或数值不正确或包含错误代码。
21
返回一个双字数值,而不是请求的字数值。
22
返回一个字数值,而不是请求的双字数值。
在编译程序之前,选择 “程序块” ->“ 库”, 右键点击,选择“库存储区”。在弹出的对话框中点击 “建议地址” 选择V存储区的地址后点击 “OK”退出。如图3-4。
图3-4
此时,即可通过USS通信,控制变频器的运行。
例,
打开状态表监控,如图3-5。
M1.0为变频器的启停控制位,初始值为0,从0强制为1后,变频器即可运行。
VD30为变频器的速度设定值,强制为20.0后,变频器将以20%的速度运行。
VW20,VD22分别为变频器返回的状态字和速度实际值。
图3-5
3.3 读写参数
根据参数的不同数据类型,需要使用不同的功能块进行变频器参数的读写。下文中,将通过举例进行介绍。
注:目前,USS协议库的参数读写功能块,仅适用于读写参数号在3999以下的参数。对于参数号在4000以上的参数,如果要进行读写,可参考《操作说明》,7.4.2.4节,使用自由口编程的方式进行读写,在此不作介绍。
G120《操作说明》下载地址:30563628
图3-6
输入:
EN:需要读取参数时激活。
XMT_~:操作请求。使用上升沿激活。
Drive:变频器USS地址。本例中,使用3。
Param:要读取的参数号。本例中,读取参数r27(输出电流实际值)。
Index:参数下标。本例中,r27无下标,必须定义为下标0。
输出:
Value:返回的参数值。
图3-7
图3-8
输入:
EN:需要修改参数时激活。
XMT_~:操作请求。使用上升沿激活。
EEPR~:写入EEPROM存储器。(注:对CU240B/E-2无效)
Drive:变频器USS地址。本例中,使用3。
Param:要修改的参数号。本例中,修改参数P1120(斜坡上升时间)。
Index:参数下标。本例中,修改下标0。
Value:要写入的参数值。
图3-9
图3-10
输入:
EN:需要读取参数时激活。
XMT_~:操作请求。使用上升沿激活。
Drive:变频器USS地址。本例中,使用3。
Param:要读取的参数号。本例中,读取参数P210(电源电压)。
Index:参数下标。本例中,P210无下标,必须定义为下标0。
输出:
Value:返回的参数值。
图3-11
图3-12
输入:
EN:需要修改参数时激活。
XMT_~:操作请求。使用上升沿激活。
EEPR~:写入EEPROM存储器。(注:对CU240B/E-2无效)
Drive:变频器USS地址。本例中,使用3。
Param:要修改的参数号。本例中,修改参数P1211(自动重启尝试次数)。
Index:参数下标。P1211无下标,必须定义为下标0。
Value:要写入的参数值。
图3-13
图3-14
功能块说明:
输入:
EN:需要读取参数时激活。
XMT_~:操作请求。使用上升沿激活。
Drive:变频器USS地址。本例中,使用3。
Param:要读取的参数号。本例中,读取参数P730(DO0功能)。
Index:参数下标。本例中,P730无下标,必须定义为下标0。
输出:
Value:返回的参数值。
编译、下载之后,打开状态表监控,如图3-15。把M4.0,从0强制为1后,VD360返回值为16#0034FC03。即P730=52.3。
图3-15
注:16#0034FC03到52.3的转换说明
当使用读写参数的功能块时,类似于P730=52.3这样的BICO连接参数,需要经过如下转换:
高字,0034(16进制)= 52(十进制);
低字中的高字节,对于CU240B/E-2,规定为FC(16进制);
低字中的低字节,03(16进制)= 3(十进制)。
所以, 0034FC03(16进制)= 52.3(十进制)
3.3.6 使用USS_WPM_D功能块修改U32(无符号32位)类型参数
图3-16
功能块说明:
输入:
EN:需要修改参数时激活。
XMT_~:操作请求。使用上升沿激活。
EEPR~:写入EEPROM存储器。(注:对CU240B/E-2无效)
Drive:变频器USS地址。本例中,使用3。
Param:要修改的参数号。本例中,修改参数P731(DO1功能)。
Index:参数下标。本例中,P731无下标,必须定义为下标0。
Value:要写入的参数值。
编译、下载之后,打开状态表监控,如图3-17。把M5.0,从0强制为1后,VD430的当前值16#0034FC0C将会写入参数P731中,即P731=52.12。有关0034FC0C(16进制)到52.12的转换,请参考3.5.1节中的注释。
图3-17
1.S7-200和S7-300进行MPI通信
S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),以实现S7-200 PLC与S7-300 PLC之间的通讯。调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写 P#DB1.DBX×× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。例如交换的数据存在S7-200中VB50到VB59这10个字节当中,VAR_ADDR参数应为 P#DB1.DBX50.0 BYTE 10.
首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-200和S7-300出厂默认的MPI地址都是2,所以必须修 改其中一个PLC的站地址,例子程序当中将S7-300 MPI地址设定为2,S7-200地址设定3,另外要分别将S7-300和S7-200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三 种波特率,例子程序当中选用了19.2K的速率。
S7-200 PLC修改MPI地址可以参考下图:
图1 S7-200 设置MPI地址
S7-300 PLC修改MPI地址可以参考下图:
图2 S7-300 设置MPI地址
例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:
图3 程序编写
分别在STEP7 MicroWin32 和STEP7当中监视S7-200和S7-300 PLC当中的数据,数据监视界面如下:
图4 S7-200监控结果
图5 S7-300监控结果
通过CP5611,STEP7 MicroWin32, Set PG/PC Interface可以读取S7200和S7300的站地址,如下图:
图6 CP5611诊断结果(站地址0为进行编程的计算机)
图7 使用STEP7 MicroWin32诊断结果
2.S7-200和S7-300进行PROFIBUS通信
S7-300与S7-200通过EM277进行 PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V 存储区,并且S7-300组态EM277从站时设置正确的地址即可。
插入一个S7-300的站:
图8 S7-300组态
选中STEP7的硬件组态窗口中的菜单 Option® Install new GSD(GSD 文件下载:113652)
导入SIEM089D.GSD文件,安装EM277从站配置文件,如下图:
图9 安装GSD
在SIMATIC文件夹中有EM277的GSD文件:
图10 安装GSD
导入GSD文件后,在右侧的设备选择列表中找到EM277从站,PROFIBUS DP®Additional Field Devices®PLC®SIMATIC®EM277,并且根据通讯字节数,选择一种配置,本例选择8字节入/8字节出的方式,如下图:
图11 通信区域组态
根据EM277上的拨位开关设定以上EM277从站的站地址。
图12组态DP通信地址
组态完系统的硬件配置后,将编译下载到S7-300的PLC当中。S7-300的硬件下载完成后,将EM277的拨位开关拨到与以上硬件组 态的设定值一致,在S7-200中编写程序将进行交换的数据存放在VB0-VB15,对应S7-300的PQB0-PQB7和PIB0-PIB7,打开 STEP7中的变量表和STEP7 MicroWin32的状态表进行监控,它们的数据交换结果如下图:
图13 通信数据监控
图14 通信数据监控
注意:VB0-VB7是S7-300写到S7-200的数据,VB8-VB15是S7-300从S7-200读取的值。EM277上拨位开 关的位置一定要和S7-300中组态的地址值一致。如果使用的S7-200通信区域不从VB0开始,则需要设置地址偏移,在S7-300硬件组态中双击 EM277,修改数值0为实际使用的数值即可,如下图所示:
图15 地址区域偏移设置
3.S7-200和S7-300进行以太网通信
可以把S7-200的以太网模块CP243-1配置为CLIENT,使用STEP 7 Micro/WIN32中的向导进行通信的配置即可。在命令菜单中选择工具--> 以太网向导。
图16 打开以太网向导
第一步是对以太网通信的描述.点击下一步开始以太网配置。
图17 向导介绍
在此处选择模块的位置,在线的情况下,您也可以用读取模块按钮搜寻在线的CP243-1模块。点击下一步;
图18 读取模块
在此处填写IP地址和子网掩码。点击下一步;
图19 地址设置
需要填写模块的连接数目,如只和CP343-1通信则在此处填写1,点击下一步。
图20 模块占用地址设置
选择此为客户机连接,远程属性TSAP (Transport Service Access Point)填写为03.02,输入343-1的IP地址.,点击数据传输按钮进入数据交换的定义。
图21 连接设置
点击新传输按钮进入设置:选择是读取数据还是写入数据。填写通讯数据的字节个数,填写发送数据区和接收数据区的起始地址,本例中为从S7-300的MB200开始读取8个字节到vb1000开始的8个字节的区域中。
点击确认按钮:
图22 数据区域设置
选择CRC校验,使用缺省的时间间隔30秒,点击下一步按钮。
图23 使用CRC
填写模块所占用的V存储区的起始地址。你也可以通过Suggest Address按钮来获得系统建议的V存储区的起始地址, 点击下一步按钮。
图24 配置存储区
完成以太网向导配置后需要在程序中调用以太网向导所生成的ETHx_CTRL和ETH0_XFR, 然后,将整个项目下载到作CLIENT的S7-200 CPU上。
图25 程序编写