初次使用1214C+CB1241遇到的种种问题 点击:1524 | 回复:0



Smile-lyc

    
  • [管理员]
  • 精华:114帖
  • 求助:50帖
  • 帖子:2793帖 | 22283回
  • 年度积分:311
  • 历史总积分:144042
  • 注册:2006年8月04日
发表于:2018-01-30 22:25:43
楼主

第一次使用S7-1200系列,硬件为1214C(214-1AG40)+CB1241,软件为V14SP1,目的是实现Modbus主从站。

在实验过程中遇到各种问题,有些问题匪夷所思,多亏有强大的论坛和找答案,在各前辈的帮助下终于达到目的,现在讲过程写出来,算留个纪念,也给像我一样的初次使用者一个参考。


1. 无法下载程序

    写了一个简单程序,但是下载的时候提示“到PLC_1的连接已中断止”,反复试验多次都如此。

    出师不利啊,第一步就遇到问题。论坛上有人说是版本的问题。

2. 查看版本

   新建一个项目,选择plc为“非特定的S7-1200”,然后上载项目,在“在线和诊断”中可以看到硬件版本版本为V4.1.3,而我软件里的版本为V4.2。当然这也是在论坛里看到的方法。

3. 更新硬件版本

   首先下载升级包,我下载的是V4.2.1

   有三种方法:内存卡、TIA和浏览器。选择直接在TIA中升级,也是在“在线和诊断”中。

   更新版本后,终于可以下载了。

4. 选择哪个Modbus指令

   接下来先实现Modbus从站,因为这个简单点。

   右侧指令表里有两组Modbus指令,一组是Modbus(RTU),下面的三条指令以 Modbus_前缀,另一组是Modbus,三条指令以MB_前缀。

   论坛上说CPU版本在4.1以上的可以使用第一组,我的硬件已升级到4.2.1,所以使用前缀为Modbus_的指令。

5. Modbus_Comm_Load的MD_DB参数

   看到的视频和例程上都说在插入Modbus_Master或Modbus_Slave指令后,Modbus_Comm_Load的MD_DB参数直接选择生成的背景数据块就行,但我的为什么是红色?

   偶然发现背景数据块下有一个名叫MB_DB的数据,选中这个后编译通过。

  

 

 

6. Modbus_Slave 8280故障

   编译通过,将程序下载到PLC,还没有接485的线,却发现Modbus_Salve的Error位0和1交替闪,Error为1时Status为8280。

   网上搜索,很快找到了答案。MODBUS(RTU)里的MODBUS 指令需要CPU V4.1 串口模块V2.1支持,需要将Modbus_Comm_Load背景数据块的static变量MODE改成4(默认是0 232接口)。参考如下:

https://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=149492&cid=1072

将Mode改成4后从站功能正常。

7. PLC停机

   从站正常后改成主站程序,但是下载时又遇到问题,CPU直接停在STOP模式,启动不起来。

   状态栏显示如下:

   

 

   有人说需要将PLC恢复出厂设置。同样还是在“在线和诊断”中完成。

8. 读命令被当成写命令

   写了三条Modbus_Master指令,Mode分别为0、1、2,没有轮训,因为都是实际输入点触发的。

   其中出问题的是Mode为0的那一条,也就是读命令。

   

 

   明明是读命令,可是通过串口调试助手看,为什么发出来的确实写指令呢?

  应该是:    01 03 00 00 00 05 CRC

  实际却是: 01 10 00 00 00 05 08 00 00 00 00 00 00 00 00 00 00 CRC

  把DATA_ADDR改成30001,触发后并不发送数据。

  把DATA_ADDR改成00001,

  应该是:    01 01 00 00 00 05 CRC

  实际却是:01 0F 00 00 00 05 00 00 CRC

  这不对啊,把读命令当成写命令了。反复看帮助文档,确定没有写错。偶然发现Mode前面的“0”颜色发黄,试着改了一下,颜色变成蓝色了,然后编译下载测试,正常了,正常了,正常了,重要的事说三遍。这个说出来可能都没有人信,但却让我给遇上了,西门子是不是出来解释一下。


1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师