之前在文章《JavaScript如何对欧姆龙、三菱、施耐德等PLC进行读写通讯控制》有介绍,如何通过 LECPServer + Javascript 对欧姆龙,三菱,施耐德等PLC进行通讯控制。

在实际使用中,发现LECPServer与西门子的PLC进行通讯有一定的区别。

首先说明下,LECPServer支持西门子大部分的PLC型号,以下是支持的类型列表:

  • S1200
  • S1500
  • S200
  • S200Smart
  • S400

西门子的PLC均以以太网形式与LECPServer进行链路通讯。

我们按照之前《JavaScript如何对欧姆龙、三菱、施耐德等PLC进行读写通讯控制》文章内提到的,配置PLC_DRIVER类型为西门子系列,IP设置为西门子的PLC设置的IP地址。

当我们设置点位数据类型为浮点型的时候(则PLC设置为Real,LECPServer设置为Float),发现PLC和LECPServer的数值并不一致。

如图,PLC端为3.14,而LECPServer则显示为197391.8 。

后来经过查询西门子PLC的资料,明确这个问题的原因是因为西门子的PLC的位结构为DCBA,而LECPServer 1.0.18之前的版本,默认设置为CDAB,具体的DATAFORMAT含义可以参考JLean的说明文档。

data format 枚举说明  传送门  http://www.jlean.org:3000/#/interface/plc/data-format

当我们选择DATAFORMAT为DCBA后,点击应用,则可以看到正确的浮点数据。

接下来,我们直接用js代码来访问LECPServer对PLC进行读写了。代码如下:

let url = "http://127.0.0.1:8088";
$.ajax({url: url,// 读取PLC节点数据data: JSON.stringify({"action":"plc_read_node", "node":"NODES.SIE.M100"}),contentType: "application/x-www-form-urlencoded",type: 'POST',timeout: 2000,success: function (response) {// 解析节点数据// 数据长度是1,因此拿v[0]的数据即可v = JSON.parse(response);console.log(v);},error: function (x, t, m) {console.log(x);}
});

JavaScript对西门子PLC进行读写通讯控制中的问题和修复相关推荐

  1. modbus tcp主站和从站_组态王与西门子 PLC无线Modbus通讯

    组态王与西门子PLC无线Modbus通信方案 本方案是组态软件与西门子S7-200 Smart 进行无线MODBUS 通信的实现方法.此方案可以作为西门子S7-200 Smart与组态软件的无线MOD ...

  2. 西门子S7-1500PLC与西门子V90 PN伺服通讯控制项目程序项目程序

    西门子S7-1500PLC与西门子V90 PN伺服通讯控制项目程序项目程序包含S7-1500 PLC,KTP系列触摸屏,西门子V90 PN伺服(多台伺服轴),康耐视相机PROFINET总线通讯,基恩士 ...

  3. 西门子S7-1500PLC与西门子V90 PN伺服通讯控制项 西门子S7-1500PLC与西门子V90 PN伺服通讯控制项目程序项目

    西门子S7-1500PLC与西门子V90 PN伺服通讯控制项 西门子S7-1500PLC与西门子V90 PN伺服通讯控制项目程序项目 程序包含S7-1500 PLC,KTP系列触摸屏,西门子V90 P ...

  4. 西门子博途1500SCL程序和梯形图两者结合编程,包括西门子v90伺服profinet通讯控制

    西门子博途1500SCL程序和梯形图两者结合编程,包括西门子v90伺服profinet通讯控制,发那科机器人profinet通讯控制,多profinet io从站,扫码枪串口通讯,触摸屏类似配方功能多 ...

  5. labview+PLC程序+OPC完整项目程序Labview和西门子PLC smart200 OPC通讯仪器串口通讯

    labview+PLC程序+OPC完整项目程序Labview和西门子PLC smart200 OPC通讯仪器串口通讯 全套项目资料,包括Labview 程序,研华工控机,西门子Smart 200程序, ...

  6. Labview和西门子PLC smart200 OPC通讯仪器串口通讯

    Labview和西门子PLC smart200 OPC通讯仪器串口通讯 全套项目资料,包括Labview 程序,研华工控机,西门子Smart 200程序,电气原理图,元器件清单,详细注释 Labvie ...

  7. c++ char4个字节_西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令

    西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令 本期说一下,不同项目下的,连个西门子1200的TCP通讯,这次我们用TSEND_C和TRCV_C组合使用,这次先了解下TSEND_C指令 ...

  8. 西门子1200plc通过485modbus通讯控制英威腾伺服电机博图15.1程序

    西门子1200plc通过485modbus通讯控制英威腾伺服电机博图15.1程序,带伺服电机参数说明和运行效果视频 ID:6913654299049934

  9. C# Snap7 实现对西门子PLC的读写(本篇主要对系统诊断缓存区(SSL或SZL)内容进行读取)

    Snap 7 使用C# 实现对西门子PLC的读写 摘要: 本篇主要针对PLC的错误日志进行操作,此目的是方便在没有电气工程师在现场的情况下 快速定位错误位置,帮助节约ShoutDown 时间 提升企业 ...

最新文章

  1. 通信系统之数字复接技术
  2. 【数字信号处理】基本序列 ( 基本序列列举 | 单位脉冲序列 | 单位脉冲函数 | 离散单位脉冲函数 | 单位脉冲函数 与 离散单位脉冲函数的区别 )
  3. MongoDB学习笔记(三)使用Spring Data操作MongoDB
  4. 知乎:学计算机的女生都怎么样了?
  5. 2017计算机应用技术考研,2017年中国科学技术大学081203计算机应用技术考研专业目录与考试科目.docx...
  6. ~~~~~~~~~~~~~~坏公司鉴别方法 ~~~~~~~~~~~
  7. 关于Zxing生成DM二维码变形问题总结
  8. matlab pascal函数,pascal常用函数较全
  9. Python常用的软件包
  10. php楼梯有n级台阶,楼梯问题的一些解决方法
  11. java定义一个接口shape_定义一个借口shape
  12. 风行视频app v3.4.3.1
  13. 闭区间连续函数的性质
  14. 经典编程题——回文问题
  15. 【愿头发与你我同在队】团队项目第一次作业-组队与选题
  16. KiKaFramework V1.1发布
  17. 51Talk-Level 7 Unit 2 L4
  18. 大数据是让人幸福的科学
  19. substr mysql用法_mysql substr用法是什么
  20. 同源策略是什么,有何作用

热门文章

  1. VPI TransmissionMaker光纤通信算法仿真 均衡,载波相位恢复
  2. C++核心准则CP.26:不要分离线程
  3. 将自己的jar上传到mavn仓库中遇到的问题
  4. TCP协议的部分解析
  5. Learning without Forgetting 论文阅读和对应代码详解
  6. Educoder——Java入门:方法的使用
  7. Eclipse配置Tomcat环境
  8. 计算机应用电子表格题,计算机应用基础Ecel电子表格题目.doc
  9. Canvas动画制作并转为视频合并音乐
  10. 编码器测距离使用外部中断计脉冲