基于PLC-C#串口通讯,温度检测和转速监控的c#/.Net实现。

  我司为五金加工企业,其中有一条喷涂车间和流水线,客户要求能实时监控炉温温度、流水线速,并设置上下限值,达到上下限时报警。

开始考虑过USB的温度采集器,但是却没有找到带USB的光电开关,并且线路长度受约束,后来查了一下PLC的相关资料,发现PLC的采集方案很简单,便使用了此方案。

设备清单:

  PLC控制器一台  我用的深圳某中的40MT型号)

  温度采集器    三菱6AD(模拟量输入,不用买什么买送器,还得自己计算,此模块能自动转换温度值)

  K型热电偶     探头式(打孔安装)

  NPN型光电开关  测试线速用

  24V5A开关电源  PLC和温度采集器用

通讯步骤:

  PLC采用MODBUS通信协议。协议:

      每个字节的位:
      ·   1个起始位
      ·   8个数据位,最小的有效位先发送
      ·   无奇偶校验位
      ·   1个停止位
      错误检测(Error checking):CRC(循环冗余校验)
  如:

    读D0 01 03 00 00 00 01 84 0A       返回(0)01 03 02 00 00 B8 44    返回(1)01 03 02 00 01 79 84
        站 功 地址 多少个 校验           
        号 能
          码
    取返回的第4+第5个字节的十六进制转换为十进制,则为该寄存器的结果。

  PLC需要配备485通讯端口,c#程序通过串口定时发送请求数据,PLC返回寄存器中的保存的温度、线速结果值,c#取回值解析显示。

C#程序界面:

  

PLC梯形图:

  

原文地址:https://www.cnblogs.com/vice/p/7444368.html