
CP341做Modbus从站的硬件组态4.2.1硬件组态图7S7-300侧硬件组态4.2.2设置Modbus参数图8消息桢字符结构按照上述操作设置参数,从上图可以看出,本例中的传输波特率9.6Kb/s......
CP341做Modbus从站的硬件组态
4.2.1硬件组态

图7S7-300侧硬件组态
4.2.2设置Modbus参数

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

图9RS422/485接口组态
RS422/485接口只能一个有效,接口的选择只需要组态而不需要在硬件上短接。
4.2.3Modbus驱动的下载
当配置好Modbus通信的参数后,保存前需要向CP341下载ModbusSlave的驱动,一旦下载完成后无需再次下载。
需要注意的是,在下载驱动时(可以在无Dongle情况下下载),需要将CPU停机,然后下载,操作过程如下所示。

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

图11从站驱动下载后结果
4.2.4CP341做Modbus从站的编程
从Step7软件下的EXAMPLE目录中,找到项目名“zXX21_05_PtP_Com_MODSL”的项目,打开,然后将Modbus通讯模块FB80传递到用户项目中,打开路径如下所示。

图12ModbusSlave例程打开路径
OB1中调用FB80编程如下:

图13FB80程序块调用
CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK为1信号,否则CP_START_ERROR为1,同时可以从ERROR_NR察看错误信息,也可以在硬件组态中在线后的CP341的诊断缓冲区察看详细的错误信息,错误信息对照和处理方式可以参考
《S7-300以用于PtPCPModbus协议RTU格式S7的可装载驱动程序为从站》的手册。
FB80的各参数含义如下
LADDR硬件组态中CP341的起始逻辑地址,本例中为256START_TIMER初始化超时定时器,本例中为T120START_TIME初始化定时器时间,本例中为5SOB_MASKI/O访问错误屏蔽位,本例中为True(I/O访问错误已屏蔽)CP_STARTFB初始化使能位,本例中为_START_FMCP_START初始化的上升沿位,本例中为_NDR从CP卡写操作位,本例中为_START_OK初始化完成且无错误,本例中为_START_ERROR初始化完成,但有错误,本例中为_NR错误号,本例中为MW2ERROR_INFO错误信息,本例中为MW4
表5

