程勉超 2023-02-23 21:10 采纳率: 100%
浏览 24
已结题

上位程序通过modbus tcp读写plc数据的问题

img


如图。
1,请问上位机程序读写的plc寄存器,是输入寄存器还是保持寄存器,或者两种都可能?
2,布尔值是通过读写线圈来读写的,还是通过读写输入或者保持寄存器来读写的?
3,不同厂牌规格的寄存器,比如西门子s7系列、三菱、欧姆龙等,地址定义是不是差别很大?

  • 写回答

3条回答 默认 最新

  • grantthing 2023-02-23 21:32
    关注

    1.上位机程序可以读写PLC的输入寄存器和保持寄存器,具体使用哪种寄存器取决于PLC的编程和应用需求。输入寄存器通常用于保存PLC输入信号的状态,而保持寄存器则用于存储PLC内部计数器、定时器等数据。不同的PLC品牌和型号对应的输入寄存器和保持寄存器地址可能不同,需要根据PLC的说明文档或编程手册进行具体配置。
    2.布尔值通常通过读写线圈来进行读写操作,而不是通过读写输入或保持寄存器。线圈通常用于存储PLC输出信号的状态,其地址可以是单个位,也可以是多个位,与具体PLC品牌和型号有关。
    3.不同品牌和型号的PLC寄存器地址定义确实存在差异。例如,西门子S7系列PLC使用的寄存器地址通常是以DB、MB、EB、FB等为前缀的十六进制地址,而三菱PLC则采用的是字地址和位地址的方式。因此,在进行PLC读写操作时,需要根据具体PLC品牌和型号的说明文档或编程手册来确定正确的寄存器地址。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 赤露水 2023-02-23 21:39
    关注

    问题1: 两种都有可能。
    问题2:布尔值一般是通过读写线圈来读写的,但是也有通过读写输入或者保持寄存器然后按位获取得到。
    问题3:不同系列的PLC差别较大,同一系列的PLC地址定义相差不大。
    以上是我个人所遇到的真实情况,希望你能采纳。

    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-01 11:04
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月24日
  • 创建了问题 2月23日

悬赏问题

  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据
  • ¥15 学习C++过程中遇到的问题
  • ¥15 关于Linux的终端里,模拟实现一个带口令保护的屏保程序遇到的输入输出的问题!(语言-c语言)
  • ¥15 学习C++过程中遇到的问题
  • ¥15 请问,这个嵌入式Linux系统怎么分析,crc检验区域在哪
  • ¥15 二分类改为多分类问题
  • ¥15 Unity微信小游戏上调用ReadPixels()方法报错
  • ¥15 如何通过求后验分布求得样本中属于两种物种其中一种的概率?
  • ¥15 q从常量变成sin函数,怎么改写python代码?