SIMATIC S7,数字输出 SM 326,F-DO 8xDC 24V/2A PM 故障安全型数字输出 P-M 开关, 至 4 类线(EN 954-1)/ SIL3(IEC61508)/PLE(ISO13849), 1个 40针
西门子上海已经代理商6ES73311KF024AB1
西门子上海已经代理商6ES73311KF024AB1
SIEMENS | 上海朕锌电气设备有限公司 |
联 系 人; | 钟涛 |
电 话 : | |
手 机 : | |
传 真: | |
商 务 : | 1824547528 |
从Step7 软件下的EXAMPLE目录中,找到项目名“zXX21_05_PtP_Com_MODSL”的项目,打开,然后将Modbus通讯模块FB80传递到用户项目中,打开路径如下所示。
图12 Modbus Slave 例程打开路径
OB1中调用FB80编程如下:
图13 FB80程序块调用
CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK为1信号,否则CP_START_ERROR为1,同时可以从ERROR_NR察看错误信息,也可以在硬件组态中在线后的CP341的诊断缓冲区察看详细的错误信息,错误信息对照和处理方式可以参考
《S7-300以用于PtP CP Modbus 协议RTU格式S7的可装载驱动程序为从站》的手册。
FB80的各参数含义如下
LADDR | 硬件组态中CP341的起始逻辑地址,本例中为256 |
START_TIMER | 初始化超时定时器,本例中为T120 |
START_TIME | 初始化定时器时间,本例中为5S |
OB_MASK | I/O访问错误屏蔽位,本例中为True(I/O访问错误已屏蔽) |
CP_START | FB初始化使能位,本例中为M0.0 |
CP_START_FM | CP_START 初始化的上升沿位,本例中为M0.1 |
CP_NDR | 从CP卡写操作位,本例中为m0.2 |
CP_START_OK | 初始化完成且无错误,本例中为M0.3 |
CP_START_ERROR | 初始化完成,但有错误,本例中为M0.4 |
ERROR_NR | 错误号,本例中为MW2 |
ERROR_INFO | 错误信息,本例中为MW4 |
表5
5. 通讯测试
Modbus RTU格式通信协议是以主从的方式进行数据传输的,在传输的过程中主站是主动方,即主站发送数据请求报文到从站,从站返回响应报文。Modbus 系统间的数据交换是通过功能码来控制的,以下对现场常用的功能码进行分类测试,关于功能码的详细信息请参考手册。
5.1 FC01/05/15功能码
CP341从站的通讯区域配置
图14 FC01/05/15 参数组态界面
FC01、FC05、FC15对应的数据区为位输出,数据的传递以位为单位,可以读写操作,用户地址区为0xxxx,Modbus地址在信息传递中从0开始。如上图,左边为信息传递地址(地址区不能冲突),右边对应的是S7-300的数据区。例如左边信息传递地址从0 ~ 7对应用户地址区为00001 ~ 00008,对应S7-300的M10.0 ~ M10.7,并且以此为例说明FC01功能码的通讯。
S7-200主站程序调用
图15 功能码FC01使用
S7-200主站,用功能码FC01读取从站8点数字量输出,接收的数据存放在VB2000开始的区域,测试截图结果如下。
图16 FC01功能码数据交换
5.2 FC02功能码
CP341从站的通讯区域配置
图17 FC02 参数组态界面
FC02对应的数据区为位输出,数据的传递以位为单位,只读操作,用户地址区为1xxxx,Modbus地址在信息传递中从0开始,如上图,左边为信息传递地址(地址区不能冲突),右边对应的是S7-300的数据区。例如左边信息传递地址从0 ~ 7对应用户地址区为10001 ~ 10008,对应S7-300的M20.0 ~ M20.7,并且以此为例说明FC02功能码的通讯。
S7-200主站程序调用
图18 功能码FC02使用
S7-200主站,用功能码FC02读取从站8点数字量输入,接收的数据存放在VB2000开始的区域,测试截图结果如下。
图19 FC02功能码数据交换
5.3 FC03/06/16 功能码
CP341从站的通讯区域配置
图20 FC03/06/16参数组态界面
FC03/06/16 对应的数据区为寄存器,数据的传递以字为单位,可以读写操作,用户地址区为4xxxx,Modbus地址在信息传递中从0开始。如上图,左边为信息传递地址,右边对应的是S7-300的数据区,左边传输地址不可改,右边只对应一个数据区。例如用户地址
区为40001 ~ 40004,对应S7-300数据区为DB1.DBW0 ~ DB1.DBW6,并且以此为例说明
FC03功能码的通讯。
S7-200主站程序调用
图21功能码FC03使用
S7-200主站,用功能码FC03读取从站4个字寄存器,接收的数据存放在VB2000开始的区域,测试截图结果如下。
图22 FC03功能码数据交换
5.4 FC04 功能码
CP341从站的通讯区域配置
图23 FC04参数组态界面
FC04对应的数据区为寄存器输入,数据的传递也以字为单位,只读操作,用户地址区3xxxx,Modbus地址在信息传送中从0开始。如上图,左边为信息传递地址,右边对应的是S7-300的数据区,左边传输地址不可改,右边只对应一个数据区。例如用户地址区为30001 ~ 30004,对应S7-300数据区为DB1.DBW0 ~ DB1.DBW6,并且以此为例说明FC04功能码的通讯。
S7-200主站程序调用
图24功能码FC04使用
S7-200主站,用功能码FC04读取从站4个字输入寄存器,接收的数据存放在VB2000开始的区域,测试截图结果如下。
图25 FC04功能码数据交换
5.5 Limits 栏
图26 Limits 参数组态界面
对于写功能码FC05、06、15、16,可以禁用或限制访问相关S7-300存储区,即使用这些功能码时,S7-300存储区需要在设定的zui小和zui大的范围之间,如果访问的区域超出这个范围,则访问会被拒绝,同时输出报错误信息。
6. 总结
本文档以S7-200为主站和CP341为从站简单介绍了Modbus RTU通讯,关于通讯的组态设置,编程以及常用功能码的使用,其具体的使用可以作为西门子串行通讯模块与第三方的仪表、设备等进行串行通信的参考。
7. 相关参考资料
关于西门子串行通信应用的文档可以参考相关产品手册,或登录下载中心http://www.ad.siemens.com.cn/download/ , 搜索下载如下文档:
A0006:串口通讯模块的信息与使用
A0081:CP340/341/440/441通讯及编程
A0336:CP341 Modbus RTU多站点轮询
A0440:CP340/341基于ASCII驱动协议的多站点轮询
A0384:S7-300 CP341作主S7-200作从的Modbus通信
关键词
CP341,Modbus RTU,功能码,S7-200
如何在 ABB 的 AC800M 冗余系统中操作 ET 200M IM 153-2BAx1/-2BAx2 ?
*文档: 西门子工程师*本文档!
文献
涉及产品
ABB 系统不能*支持满足“Specification Slave Redundancy V1.2 ,2004年11月PROFIBUS 用户组织制定的,编号为:2.212”的标准冗余。
使用说明:
ABB 系统不能*支持满足“Specification Slave Redundancy V1.2 ,2004年11月PROFIBUS 用户组织制定的,编号为:2.212”的标准冗余。
因此,为了能够在一个带有版本为 05.42 的 CI 854A® DP 主站的 PM 864A® 版本为4.0.14.22控制器中操作冗余的 ET 200M IM153-2 ,需要按照下面介绍的步骤进行配置。
ET 200M 模板 IM 153-2BAx1 的 GSD 文件
下载下面的文件“siab801e.zip”。解压缩后可以找到“siab801e.gsg” 文件。
siab801e.zip ( 16 KB )
ET 200M 模块 IM 153-2BAx2 的 GSD 文件
下载下面的文件“sia1801e.zip”。 解压缩后可以找到“sia1801e.gsg” 文件。
sia1801e.zip ( 18 KB )
ET 200M 模板 IM 153-2 作为一个 DP/PA 或 Y link 的 GSD 文件
- 下载下面的文件“link_2bax1_2bax2_abb.zip”。为了能把 ET 200M IM 153-2 作为 DP/PA 或 Y link 进行操作,需要把下载的文件解压缩后找到文件“pa_link_2bax1_abb.dat”或“y_link_2bax1_abb.dat” 。
link_2bax1_2bax2_abb.zip ( 3 KB )
- 拷贝上述文件到 GSD 工具的路径下。关于如何使用和下载 GSD 工具的详细信息请参考条目 ID26562190。
- 当启动 GSD 工具,在用户接口中可以选择“ABB support” 选项。 该选项可以创建用户应用程序需要的 IM153-2 的 Link 功能的 GSD 文件。
图. 1
GSD 转换
- 启动 GSD 导入工具。在 Windows 开始菜单下“ AC800M -> Utilities -> GSD Import Tool ”中可以找到。
注意
在 “Options -> Conversion Rules -> Datatypes” 中, 请为用户程序中使用的 ET 200M IM 153‑2 的数据类型进行定义:
图. 2在图. 02 中的设置有利于稍后在用户程序中按位访问 ET 200M IM 153‑2 的 IO。
在 GSD 导入工具中通过 File -> Import GSD 选择导入的 GSD 文件。
在下面的对话框中,首先点击按钮“Enh. Convert” , 然后点击“Convert”。
图. 3
更新 HWD 文件
一旦 GSD 文件已经被转换,则 HWD 文件 (*.hwd) 被更新。该文件与被导入的 GSD 文件位于相同的项目路径下。 关于冗余的信息必须写入到HWD 文件中。
HWD 文件包含两部分,以下图中的段落开始:
图. 4
下面关于冗余的信息必须手动的输入到连接信息部分的后面。
图. 5
使用文本编辑器:
图. 6
关于诊断的信息必须输入到作为冗余信息的 HWD 文件的相同的部分 (见图. 04)。
下面的关于不同情况下的诊断信息必须手动的插入到这部分的前面。
图. 7
使用文本编辑器:
图. 8
注意:
一个 HWD 文件可以管理模块化从站中zui多 256 个模块。
如果一个 HWD 文件中包含的模块多于 100 个 ,那么在 PLC 控制器控制组态中将不能正常显示;这意味一些模板不能被选择。因而模板应该结构化。下面的部分包含所有模板的概述:
图. 9
下面的部分需要使用文本编辑器手动地进行划分(发生改变的条目使用粗体标出):
图. 10
为了能找出哪个模板被隐藏到一个 HWUnitID 后面,在这个部分的下面的文本文件中搜寻 HWUnitID 。
合并一个新的 HWD 文件
一旦在 HWD 文件中完成所有必要的更新,循环冗余校验和(CRC)必须在 HWD 文件中进行更新。这可以在 GSD 导入工具中完成。请选择File -> Update HWD Files 更新 HWD 文件并点击“Convert”进行确认。
图. 11
现在 ET 200M IM 153-2 可以用于使用 PLC 控制器创建工具 AC 800M®, 版本 V4.0.0/0 (Build 4.0.14.22) 创建的项目中。
组态
- 在 DP 主站中插入一个 ET 200M IM153-2 站。为了能够冗余的操作该模块需要进行下面的设置 :
图. 12
- 在 ET 200M 站中,模板必须先插入到 1…3 槽,如图. 07 所示,从第 4 槽开始的 IO 模板才可以使用。
图. 13
- 在属性窗口中,可以对IO 模板的参数分别进行分配。为了完成各个模板的参数分配,IO 模板的槽号参数设置必须和实际的槽号相匹配。
图. 14