zoukankan      html  css  js  c++  java
  • 基于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梯形图:

      

  • 相关阅读:
    Delegte的BeginInvoke
    C# socket 实现客户端连续发送数据
    Button的PerformClick()
    Invoke和BeginInvoke
    Application.DoEvents() 处理队列消息,防界面假死
    BackgroundWorker后台线程
    CF773F
    ORM框架,没必要搞那么复杂
    VS Unable to copy file
    Unbuntu auto start program
  • 原文地址:https://www.cnblogs.com/vice/p/7444368.html
Copyright © 2011-2022 走看看