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梯形图:

      

  • 相关阅读:
    [LeetCode] 215. Kth Largest Element in an Array 数组中第k大的元素
    [LeetCode] 23. Merge k Sorted Lists 合并k个有序链表
    [LeetCode] 146. LRU Cache 近期最少使用缓存
    [LeetCode] 381. Insert Delete GetRandom O(1)
    [LeetCode] 380. Insert Delete GetRandom O(1) 插入删除获得随机数O(1)时间
    [LeetCode] 57. Insert Interval 插入区间
    [LeetCode] 56. Merge Intervals 合并区间
    [LeetCode] 155. Min Stack 最小栈
    移动web开发-------meta
    font-family
  • 原文地址:https://www.cnblogs.com/vice/p/7444368.html
Copyright © 2011-2022 走看看