首页 西门子(Si. 正文

回复

多台西门子PLC对接Oracle数据库,不用编程不用联网

西门子(Siemens)PLC 浏览:21 回复:0 收藏

havegood  2025-12-19 11:58

    智能网关IGT-DSER方便实现多台PLC与数据库之间的数据通讯,既可以读取PLC的数据上报到数据库,也可以

从数据库查询数据后写入到PLC的寄存器。

    网关安装在设备侧,与设备同时起停,不担心数据丢失;在断网、服务器维护上报数据有异常时,网关主动将

数据缓存,待故障解除后自动重新上报到数据库;网关也支持多服务器冗余、异常未提交数据本地保存等功能,

确保数据安全;相关案例

    以下是通过数据库智能网关IGT-DSER实现S7-1200/1500系列的PLC与数据库服务器双向通讯,网关支持

MySQL和SQLServer、PostgreSQL,以及Oracle、达梦数据库等。这里选择的是Oracle。实际网络结构如下图:

SQL-S7-3.png

    打开网关参数设置软件(软件下载),通过'功能'->'类型与设备选择'选择第三个类型,PLC设备选择西门子

S7-1200/1500,点'确定当前选择'、'参数写入到网关',根据提示重启。重启读取参数后,确认跟之前所选择的

一致,再通过'功能'->'网口参数编辑'编辑网口参数。以下是网关的网口参数配置截图:

S71K-PLC2.png

    然后通过‘功能’->‘数据上报与平台对接’,选择‘SQL远程数据库’,进入以下页面,在数据配置表内配

上报和查询的数据, 填写数据库服务器的IP地址网络端口,用户名称密码等参数:

S71K-ORA-CFG.png

    数据配置表可以通过'编辑'菜单的相关功能按钮手动输入添加,也可以通过CSV文件导入导出,‘文件’菜单内

相关功能按钮。


    将参数后写入后重启(‘参数’->‘参数写入到网关’)、(‘工具’->‘重启网关’),读取网关参数(‘参数’

->‘从网关读取参数’)后,看软件上显示的状态消息,根据状态消息调试。在‘工具’->‘网关数据监控’里

面可以看到通过配置生成的SQL语句。


    智能网关模块支持边缘计算脚本编程(手册下载),简单的数据处理也可以通过设置实现,如上图 '数据处理/初

始值' 列,常用的功能如下:

    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’的数

据实时更新;


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



我知道了