PLC通过智能网关实现HTTP协议通讯,先取得token后再提交JSON格式的数据文件

如何使用HTTP协议,读写PLC点位状态(含欧姆龙、三菱、西门子、施耐德、松下等PLC) 前言: 阅读详情

        智能网关IGT-DSER集成了多种PLC的原厂协议,方便实现各种PLC、智能仪表通过HTTP协议与MES等各种系统平台通讯对接。PLC内不用编写程序,通过网关的参数配置软件(下载地址)配置JSON文件的字段与PLC寄存器地址等参数即可。

        智能网关IGT-DSER支持POST/GET/PUT等多种方法,可同时作为HTTP协议的客户端和服务端,支持多设备同时接入智能网关,对接局域网的HTTP服务端时无需连接外网。

S7-HTTP.png

        IGT-DSER网关支持触发、周期、混合等多种工作模式:周期模式是按设置的周期时间提交请求和解析返回的文件;触发模式可配置一个或多个触发条件,网关根据触发条件的数据变化进行文件提交和下载解析;也可以两种模式同时配置运行。

        本案例是S7-1200/S7-1500的PLC(IP地址:192.168.2.111),先验证取得HTTP服务端的token后,再POST方式提交获取数据,按JSON格式通讯,服务端返回的数据写入到PLC寄存器。

        打开智能网关的参数配置软件(下载地址),进入数据配置表(功能->数据转发与平台对接,选   HTTP-GET/POST),根据PLC通讯地址,寄存器数量等结合用户手册(下载地址)的5.2章节配置相关参数。按数据配置表的 ‘任务组’ 分为 获取token 和 提交数据 两个组(任务组相同的值即为同一组,每组自动按上报跟下载打包成独立的JSON文件)。

        下图是 获取token 任务组(组号为1)的配置。‘上报xxx’为来自PLC或者智能网关内部,要打包发到HTTP服务端的数据;‘下载xxx’为来自HTTP服务端,要解析或者写入PLC寄存器的数据。数据号 0011 为获取到的token:

S71K-HTTP-TOKEN-1.png

         通过以上配置生成的JSON文件,以及接收的JSON文件如下:JSON格式配置举例

S71K-HTTP-TOKEN-2.png

        下图是 提交数据 任务组(组号为2)的配置,数据号 0013 为任务组1获取到的token:

S71K-HTTP-TOKEN-3.png

        通过以上任务组2配置生成的JSON文件,以及接收的JSON文件如下:

S71K-HTTP-TOKEN-4.png

        从以上配置可以看到,通过‘数据处理/初始值’ 可以实现简单的数据处理,还可支持更多的数据处理功能,具体如下:

        1. 限定字符串的长度:当数据类型设置为字符串即CHAR[n]时,限定字符串的最大字符数,如‘[n=24]’,范围1~128;

        2. 限定小数的位数: 当数据类型设置为浮点数即REAL/LREAL时,指定小数的位数,如保留3位小数‘[.03]’,范围01~06;

        3. 对数据进行单运算符的运算:支持加减乘除和整除(+-*/\),例如当前值要除以100,则输入‘[/100]’;

        4. 无符号整数类型的10进制数据转为16进制:例如当前值12345678,输入‘[.x]’,则转为bc614e,输入‘[.X]’,则转为BC614E;

        5. 触发模式数据对接的附加条件: 例如输入‘[==]100’,同时勾选‘变化判断’,这样如果该数据的当前值不等于100,即使该任务组的其它触发条件满足也不会执行;支持[==] 、[<>]、[<=]、[>=]共4种判断方式;

        6. 将数据转为字符串并进行组合:例如从PLC内读到的当前数据为100,输入‘[#count=**pcs]’,则当前数据按count=100pcs 处理;

        7. 将多种数值替换为对应的字符串:例如设置为‘[#@0=离线|1=待机|2=运行|3=故障|其它值]’时,当这行配置对应的PLC寄存器的数值≥0、≤3时,根据数值分别取字符串‘离线’‘待机’‘运行’‘故障’,超出这个范围则替换为‘其它值’。

        8. JSON字符串打包:采用MQTT或HTTP协议时,例如输入‘${JS01}’,则将后面数据配置表中所有字段类别为‘数值读取’、字段名称为‘JS01’的数据按配置顺序组合成一个字符串;

        9. 复制其它数据的数值:例如输入‘$(barcode)’,则该数据的数值随数据配置表中名称为‘barcode’的数据实时更新;

        10. 根据当前行的特殊前后缀的字段名称,初始值配置完成特定功能:

            ⑴. 对接数据库时在SQL命令语句中增加条件字符串:字段类别为条件字段、字段名称设置为‘${condition}’时在初始值输入需要合并到SQL语句中的字符串,在自动生成SQL语句时将该字符串合并到SQL语句中。

            ⑵. 设备扩展参数的参数值设置,例如:字段名称设置为‘${address}’时在此输入‘104180050001’,则将该行数据所对应的设备的参数address设置为104180050001;

        11.其它功能函数,具体如下:

            ⑴. 当前行数值的字节顺序调整‘$EXWB(11)’,括号内第一个数字是交换高低字,第二个数字是交换高低字节,共有10、01、11三种组合,其它数值无效。

            ⑵. 当前行字符串的顺序调整‘$SORD(1)’,括号内可设 1~6 的数字,具体含义同<字符顺序>参数内的选项一一对应。

            ⑶. 获取本组的设备通讯状态值,写入到当前行所对应的数据地址‘$RDSD()’,括号内为空。

            ⑷. 获取本组的数据上报平台对接的状态值,写入到当前行所对应的数据地址‘$RDSS()’,括号内为空。

        除了上述西门子PLC外,网关也支持罗克韦尔(AB)、欧姆龙、三菱,以及GE、倍福、艾默生等几乎所有PLC品牌。

PLC上传电机参数到http服务器 此项目中利用了Modbus-RTU协议,WIFI模块开启Modbus轮询模式并作为主机,不断向PLC发送数据,获取PLC寄存器中的电机参数值,然后通过WIFI模块的GE上位机,自带的Modbus数据转自定义json格式数据,进行转换后,上传到http服务器。②选择串口2,因为PLC的AB引脚连接的就是串口2;然后再D1000~到D1011寄存器中分别填入以下的数据,48,1,218,0,1057,1,3210,0,3,0,47,1。交流电220V接口,插上电后,试电笔测试线路,亮灯的线为火线,反之为零线。 阅读详情

相关推荐

老电表RS485接入云平台的三种低成本稳定方案

RS485通信是工业设备联网的基础物理层技术,其差分传输特性决定了抗干扰与长距离能力;DL/T645作为国内电能表主流通信协议,广泛应用于机械式及早期电子式电表。理解其帧结构、时序要求(如≥330ms帧间隔)和BCC校验机制,是实现可靠数据上云的前提。技术价值在于盘活存量资产——避免整批更换电表,显著降低智慧能源改造成本;典型应用场景包括老旧小区能耗监测、工厂配电房数字化升级、双碳管理平台数据接入等。本文聚焦真实工程约束下的落地路径,详解串口透传、W5500硬栈网关、树莓派Modbus网桥三类方案,兼顾稳定

weixin_34337381的博客 502

PLC实现HTTP协议JSON格式数据上报对接的参数配置说明

IGT-SER系列PLC通讯智能网关支持HTTP协议GET和POST、PUT请求模式。支持JSON格式的文件,也可以实现WebService的调用。

AutoCtrl的博客 1573

通用智能网关参数配置软件-PLC实现HTTP通讯

通过这个软件配置HTTP的URL,以及PLC数据地址等参数,即可实现HTTP协议的GET/POST请求,同时也支持FTP的文件上传下载和解析;

PLC通过HTTP协议JSON文件格式对接MES等系统平台

智能网关IGT-DSER可以周期模式,即按设置的周期时间提交POST请求和解析返回的文件;也支持触发模式,可根据实际的业务时序需要,配置多组JSON和多个触发条件,网关根据触发条件的数据变化进行JSON文件提交。

PLC通讯智能网关 1584

PowerBI参数化实战:3分钟搞定动态数据源切换(附常见错误排查)

本文详细介绍了PowerBI参数化实战技巧,教你3分钟实现动态数据源切换。通过创建参数、改造查询和测试切换三步,轻松应对多环境部署与团队协作中的路径问题,并附上常见错误排查指南,有效提升报表的可维护性和工作效率。

p1q2r的博客 585

AI虚拟人物 数字人直播,不用出镜,不用露脸的直播方式(附教程 软件)

我们先来看一组数据,这是我通过蝉妈妈查到的某位虚拟主播的一个带货数据,粉丝还不到 3000 人,每次直播 1 到 4 个小时,30天的总销量达到了1200单,15天,总销售额 2 万,可能相对来说客单价还是比较低,最关键的是才直播了 6 场,如果说他能够一个月直播 20 天,每天花 4个小时去直播,当个副业来做,就可以达到最起码月入 3 万的一个收入水平,我个人觉得是非常的不错的。大家把商品图片放在背景,只要场景设置的不错,场景和产品的关联度高,直播的时候挂上购买链接也会有一定的成交。

. 7万+

采集西门子PLC数据发布成HTTP接口

数采网关负责主动采集西门子PLC的数据,然后缓存起来,并对外发布HTTP接口,供上位服务器查询或设置PLC的数据,实现了将S7协议转换HTTP协议的功能。

u010416761的博客 3811

Ubuntu22.04+PX4+Gazebo:从零到一构建无人机仿真开发环境

本文详细介绍了在Ubuntu22.04系统下搭建PX4+Gazebo无人机仿真开发环境的完整流程。从基础环境配置、PX4固件安装到Gazebo仿真环境搭建,提供了实用命令和常见问题解决方案,帮助开发者快速构建高效的无人机开发环境。

weixin_29243279的博客 434

PLC通过智能网关实现HTTP协议通讯,先取得token后再提交获取JSON格式的数据文件

摘要:智能网关IGT-DSER实现PLC与MES系统HTTP协议通讯,无需PLC编程,通过配置JSON文件即可完成对接。网关支持POST/GET/PUT等多种HTTP方法,可同时作为客户端和服务端,提供触发、周期、混合三种工作模式。案例展示了西门子S7-1200/1500 PLC通过网关获取token并提交数据的完整配置流程,包括JSON文件生成与解析。网关支持字符串处理、数据运算、状态转换等11项高级数据处理功能,适用于罗克韦尔、欧姆龙、三菱等主流PLC品牌。(150字)

PLC通讯智能网关 1237

C++游戏开发入门:从环境配置到第一个完整项目

C++ 作为游戏开发领域的关键语言,其学习路径常因语法枯燥而令初学者却步。以项目驱动的方式学编程,能帮助学习者将变量、循环、函数、指针等基础概念融入实际游戏逻辑中,获得即时反馈与完整项目经验。掌握合适的开发环境是高效实践的前提,例如在 Windows 下使用 VS Code 搭配 MinGW-w64 编译器,配合调试器与构建脚本,即可搭建轻量可扩展的 C++ 游戏开发工作流。此类课程通常面向无基础人群,从控制台小游戏逐步过渡到带游戏循环的完整作品,过程中还需关注性能观察、素材授权与版本管理。无论你是刚接触编

weixin_30621959的博客 541

【复现论文】Looking here or there? Gaze Following in 360-Degree Images

论文:Looking here or there?

RichardoMu的博客 1128

PLC与智能网关HTTP通讯架构及实战应用

在工业自动化领域,PLC(可编程逻辑控制器)与上层系统的数据交互是核心需求。传统工业协议如OPC或Modbus正逐渐被HTTP协议取代,智能网关在其中扮演关键角色,实现协议转换与数据预处理。智能网关(如IGT-DSER型号)作为嵌入式工业计算机,通过协议转换中间件将PLC寄存器数据转换为结构化JSON格式,提供Web API服务。这种架构的优势包括协议解耦、安全隔离和数据处理能力。HTTP认证机制(如JWT Token)确保了通讯安全,而JSON数据请求则简化了交互流程。典型应用场景包括MES系统集成和工业

weixin_29192141的博客 250

CAPL自动化测试

通过本文的学习,读者应该对CAPL自动化测试有了初步的了解,并能够编写复杂的CAPL脚本。在实际项目中,CAPL的应用非常广泛,希望读者能够通过不断的学习和实践,掌握更多的CAPL技巧,提高自己的开发能力。

闲人编程的博客 1526

开源Python多通道工业数据采集系统实战

工业数据采集是智能制造的基础环节,核心在于解决多通道传感器数据的可靠获取、时间同步与实时处理问题。其技术原理涉及Modbus TCP协议解析、时序数据库存储、边缘时间戳注入与跨通道数据对齐等关键机制。开源方案凭借透明可控、轻量可定制、免授权部署等技术价值,在中小制造企业中展现出极强的现场适应性。典型应用场景包括PLC数据直采、振动监测、温压工艺闭环控制及微信告警联动等。本文聚焦基于Python的开源工具链(pymodbus+InfluxDB+Grafana)在真实产线中的工程落地,覆盖从协议通信、时间同步、

weixin_33853827的博客 216

飞塔CVE-2022-40684复现

admin 无密码直接回车(会提示修改密码)

G3et的博客 1145

PostgreSQL面试题及详细答案120道(101-120)

本文针对PostgreSQL数据库提供全面的性能优化方案,涵盖10个关键面试题解析。主要内容包括:1)并发参数调优(max_connections、worker_processes);2)缓存设置(effective_cache_size);3)WAL日志优化;4)慢查询监控与日志配置;5)会话管理与阻塞处理;6)高写入场景优化策略;7)存储类型参数调整;8)自动清理机制配置;9)大表DDL操作避坑指南;10)性能瓶颈诊断方法论。对DBA和开发者具有实操指导价值

大剑师兰特的GIS世界 855

工业Agent与飞书融合:构建制造业智能协同新范式

在制造业数字化转型的浪潮中,工业Agent作为一种能够自主或半自主执行特定任务的智能程序,正成为连接数据、系统与人员的关键技术。其核心原理在于整合感知、决策、执行与学习能力,通过实时处理来自PLC、传感器、MES等系统的OT与IT层数据,并运用规则引擎或机器学习模型进行分析判断,最终驱动系统或通知人员。这一技术的核心价值在于打通长期存在的‘数据孤岛’与‘协同断层’,实现数据驱动的智能决策。其典型应用场景包括设备预测性维护、智能生产调度与质量异常闭环管理等,旨在让数据主动、精准地赋能一线人员。本文聚焦于如何将

weixin_34357887的博客 430

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

PLC通过智能网关实现HTTP-Server接口(带Postman测试截图)

智能网关IGT-DSER集成了多种PLC的原厂协议,方便实现各种PLC的原厂协议转换为HTTP协议的服务端,通过网关的参数配置软件绑定JSON文件的字段与PLC寄存器地址,即可接收来自客户端的GET、PUT和POST命令,解析和打包JSON文件。

AutoCtrl的博客 2131

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PLC通过智能网关采用HTTP协议JSON文件对接MES等服务系统平台

智能网关IGT-DSER可同时作为HTTP协议的客户端和服务端。作为客户端通讯时将JSON文件提交给HTTP的服务端, 如果服务端有返回的JSON,网关进行解析后将数据写入到PLC,实现PLC与HTTP服务端双向通讯;作为服务端时根据客户端URL中的路径查找所配置的数据,打包成JSON文件后返回给客户端。

PLC通讯智能网关 2542

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

PLC通过智能网关,实现HTTP协议的POST/GET请求,与服务端JSON格式双向通讯

PLC与服务端之间的HTTP协议通讯,通过网关的参数配置软件绑定JSON文件的字段与PLC寄存器地址,配置URL,即可通过POST/GET命令,将JSON文件提交给HTTP的服务端; 如果服务端有返回的JSON,网关进行解析后将数据写入到PLC,实现PLC与HTTP服务端双向通讯。这个案例里是西门子S7-200 Smart系列的PLC,IP地址为192.168.2.100,采用触发模式,分多组提交POST请求,服务端返回的数据需要解析后写入到PLC寄存器。

m0_58077808的博客 1891

高性能工业连接平台打通PLC与HTTP通信

它放弃了将OPCUA用于外部接口的方式(由于该接口效率低,需要OPCUA基金会的许可),而是使用了更高效的HTTP Web -API方法,LECPServer的读写效率在单个链路上达到了惊人的5ms,120个客户端读取和50个客户端同时写入的效率达到了惊人的10ms(Intel I7 10代16G内存测试环境)。例如,在 6.6 版本中,当 KepServer 通过短 OPCUA 协议链接时,它会崩溃,OPCUA 是外部服务的唯一选项,重新启动服务器后,此 OPCUA 服务器的网络地址可能会发生变化。

tiger_web0的博客 2079

PLC等自动化设备实现HTTP协议JSON格式跟数据平台对接的方案,以及参数配置说明

 IGT-SER系列PLC通讯智能网关支持HTTP协议GET和POST、PUT请求模式。支持JSON格式的文件,也可以实现WebService的调用。

PLC通讯智能网关 1531

PLC设备通过智能网关采用HTTP协议JSON文件对接MES等系统平台

智能网关IGT-DSER支持POST/GET/PUT等多种方法,可同时作为HTTP协议的客户端和服务端。作为客户端通讯时将JSON文件提交给HTTP的服务端, 如果服务端有返回的JSON,网关进行解析后将数据写入到PLC,实现PLC与HTTP服务端双向通讯;作为服务端时根据客户端URL中的路径查找所配置的数据,打包成JSON文件后返回给客户端。

PLC通讯智能网关 2652

PLC通过HTTP协议JSON方式对接MES系统

PLC通过HTTP协议JSON方式对接MES系统 去发现同类优质开源项目:https://gitcode.com/ 资源描述 本资源文件详细介绍了如何通过智能网关IGT-DSER实现PLC与MES系统之间的HTTP协议通讯。智能网关IGT-DSER集成了多种PLC的协议,方便实现各种PLC与服务端之间的HTTP协议通讯。通过网关的参数配置软件,可以轻松绑定JSON文件的字段与PLC寄存器地址,并配...

gitblog_06626的博客 788
上一篇: 不用编程不用组态,快速实现西门子PLC跟三菱FX5、R系列PLC之间通讯的案例
下一篇: 不同品牌型号的PLC之间通讯的各种实现方式,以及网络结构图
AIHE-TECH
博客等级 码龄19年 210粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值