欢迎来到众智博远官网网站!

7*24小时在线咨询电话

010-52873850

新闻资讯

contact us

24小时免费咨询热线

010-52873850

技术资讯

当前位置: 首页 >> 新闻资讯 >> 技术资讯

西门子S7-200做主站S7-300 CP341做从站的Modbus RTU通讯-CP431编程

发布时间:2019-08-24 来源:众智博远

CP341 做Modbus 从站的硬件组态

4.2.1 硬件组态


图7 S7-300侧硬件组态

4.2.2 设置Modbus参数


图8 消息桢字符结构

按照上述操作设置参数,从上图可以看出,本例中的传输波特率9.6Kb/s,1位起始位,8位数据位,偶校验位,1位停止位,从站站地址是3,主从通讯设备的字符帧格式和波特率等参数设置需要一致。


图9 RS422/485 接口组态

RS422/485接口只能一个有效,接口的选择只需要组态而不需要在硬件上短接。

4.2.3 Modbus驱动的下载
当配置好Modbus通信的参数后,保存前需要向CP341下载Modbus Slave的驱动,一旦下载完成后无需再次下载。
需要注意的是,在下载驱动时(可以在无Dongle情况下下载),需要将CPU停机,然后下载,操作过程如下所示。


图10 下载Dongle时,需要CPU停机

 


图11 从站驱动下载后结果

4.2.4 CP341做Modbus从站的编程
从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_MASKI/O访问错误屏蔽位,本例中为TrueI/O访问错误已屏蔽)
CP_STARTFB初始化使能位,本例中为M0.0
CP_START_FMCP_START 初始化的上升沿位,本例中为M0.1
CP_NDRCP卡写操作位,本例中为m0.2
CP_START_OK初始化完成且无错误,本例中为M0.3
CP_START_ERROR初始化完成,但有错误,本例中为M0.4
ERROR_NR错误号,本例中为MW2
ERROR_INFO错误信息,本例中为MW4

表5