使用SQL4Automation让CodeSYS连接数据库

news2024/11/23 15:33:17

使用SQL4Automation让CodeSYS连接数据库

  摘要:本文旨在说明面向CodeSYS的数据库连接方案SQL4Automation的使用方法

1.SQL4Automation简介

1.1.什么是SQL4Automation

  SQL4Automation是一套工业用途的软件解决方案,它主要的功能就是为PLC和机器人控制提供数据库连接,它支持很多类型的PLC,其中也包括CodeSYS软PLC。SQL4Automation for CodeSYS包含一个CodeSYS库以及一套第三方的软件,SQL4Automation的软件部分包含一个服务和一系列的对该服务进行配置的前端软件,我们也可以越过前端软件直接通过配置文件使用它提供的服务。

1.2.为何使用SQL4Automation

  目前在PLC开发中越来越多的使用到了信息即时入库操作,但是PLC编程体系的数据库使用场景并不如其他编程语言中的广泛,并且PLC编程有着面向厂家的局限性,因此并没像JDBC,MyBatis那样丰富的数据库连接方案即便捷框架,为了做到和数据库的通讯很多情况下需要开发人员自己封装协议然后使用ODBC,SQL4Automation对工业编程连接数据库的一系列操作定制了规范,并提供了相应的功能块和函数,简化了连接数据库的过程,便于程序的开发维护,同时也达到了程序和数据库具体品牌的解耦,只要面向SQL4Automation编程,在之后更换数据库就只是更换其服务配置文件中的ODBC即可,无需修改代码。

  另外一方面是SQL4Automation是一个免费的平台,CodeSYS提供一个直接连接MySQL的库,使用这个库能直接让PLC不借助任何第三方服务的状态下自己连接MySQL数据库,但是它收费,价格是七百多,而且它只能连接MySQL数据库,对于一些国企或者重点工厂来说并不能满足项目的需求。

1.3.SQL4Automation的运行原理

  我们首先看一下想要使用SQL4Automation都需要安装些什么东西:

1.CodeSYS中安装的SQL4Automation库

image-20230112111919265

2.桌面控制软件

image-20230112112355127

3.SQL4Automation服务

image-20230112112451619

  其中该连接服务是软件中自带的,在安装软件的过程中服务就会被注册,软件安装好后直接启动服务即可。

1.4.SQL4Automation运行结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pRQfRkxm-1673508149241)(C:\Users\15830\Desktop\SQL4Automation架构.jpg)]

  SQL4Automation的运行模式为:在PLC端通过SQL4Automation提供的库和SQL4Automation的服务通信,和SQL4Automation服务建立一个连接,PLC通过此连接将sql语句发送给服务,服务通过事先配置好的ODBC和数据库建立连接,并将获取到的PLC端服务发送给数据库,获得到数据库的反馈后再将该反馈发送给PLC端。可见SQL4Automation的服务想当于一个中间人,是一个跳板平台性质的东西,它是PLC和数据库之间的一个中转站,PLC是先将sql语句发送给它,然后SQL4Automation服务再将sql语句发送给数据库,反之亦然

2.在SQL4Automation的安装和使用

1.Windows中的安装

1.进入SQL4Automation官网:https://www.sql4automation.com/en/home/

image-20230112121203892

2.下拉到页面最下面点击下载

image-20230112121231541

3.选择安装版本信息及个人信息

image-20230112121250882

image-20230112121308357

image-20230112121341212

  在这些内容填写完成之后就可以启动下载了。

4.安装

  解压下载到的压缩包之后我们继续解压这个Windows的安装文件:

image-20230112133011958

  进入解压后的目录,我们根据自己的系统选择安装程序:

image-20230112133052957

image-20230112133155233

  运行安装完毕之后,系统中就会自动出现该软件的连接服务以及上文中提到的三个软件。

image-20230112133347815

5.为S4Connector服务配置目标数据库连接

  打开桌面中的软件:S4A Config,进入到如下界面

image-20230112133626479

  如果系统中的服务处于运行状态的话,该前端控制台右上角标红的地方的Connect是可点击的,如果发现该按钮是灰色不可点击,请检查任务管理器中的服务,寻找S4Connector,将该服务打开即可。

  之后我们点击Connect,界面左边的连接管理栏便可以使用了,我们点击New新建一个连接:

image-20230112133832146

  新建连接的界面如图所示:

image-20230112141848517

  需要我们手动配置的地方是图中用红框和蓝框标记的地方,其中红框标记的是该服务自身的IP端口信息,包括Ip信息和端口信息以及连接超时时间,在CodeSYS中设置这个IP和端口便可以连接到这个服务,而蓝色框标记的地方是配置数据库信息的地方,其中需要填写数据源,用户名和密码三项,数据源就是ODBC,如果当前系统中没有我们需要的数据源,我们可以直接点击右下角的ODBC admin进行配置。

6.配置数据源

  点击ODBC admin之后我们会进入到系统的ODBC安装配置界面,需要注意的是ODBC我们需要提前准备好,ODBC是开放数据库连接,我们通过配置ODBC可以建立一个和数据库的连接,ODBC就是访问数据库的工具,我们可以理解为它是一种访问数据库的驱动。

  进入到OBDC管理页面之后我们点击系统DSN,然后在该栏目下新增一个自己的ODBC。

image-20230112134622105

  点击添加后,就会立刻进入到ODBC选择的界面中,我们根据自己想要连接的数据库进行ODBC的选择,需要注意的是这里需要我们提前下载和安装ODBC,为了节约篇幅暂不介绍在系统中安装ODBC的方法:

image-20230112134851423

  选择好ODBC之后我们就会进入到一个配置ODBC连接的界面,填写好数据库的用户信息之后就制作好一个数据源了:

image-20230112135433438

  制作好的数据源会自动显示在Data source中,我们选择即可:

image-20230112135516044

  填写好下边的用户名和密码之后,即使不连接PLC,使用当前服务也可以直接从服务端连接数据库了,该软件提供一个测试工具用来测试服务和数据库的连通,就是这个之前下载好的这个软件:

image-20230112140005303

  需要注意的是在S4A Config中也能进入到这个软件中去,接下来我们测试数据库的连通性:

image-20230112140038678

7.测试服务和数据库的连通性

  首先点击License,为当前的连接获取证书:

image-20230112140236293

  在成功获取证书之后就可以连接数据库了:

image-20230112140308436

  在正式使用数据库做通信之前我们可以先检测一下数据库的连通性,在点击左下角的Test之后如果弹出了如图所示的弹窗,说明数据库连接确实可以用了,接下来我们可以放心测试:

image-20230112140444432

  点击Tools按钮下的S4AQuertTool或者直接从桌面图标进入测试工具:

image-20230112140620299

  测试工具如图所示,主要分为两个区域,一是书写SQL语句的区域,一是获取返回结果的区域:

image-20230112140721595

  我书写了一个测试用的SQL语句,点击Send之后成功获取到了返回,测试成功:

image-20230112140917346

8.使用CodeSYS连接服务

  我们首先需要为项目导入SQL4Automation为CodeSYS提供的服务连接库,在之前我们下载的安装包里已经提供了,如图所示:

image-20230112141211271

  解压之后我们就能够找到,将这个库安装到CodeSYS,然后添加到项目下即可:

image-20230112141303121

  想要使用CodeSYS连接服务我们首先需要实例化一个服务连接代码块,该对象在SQL4Automation提供的官方库中已经给出,名为fbSQL4Codesys,实例化这个代码块时候我们便可以通过它连接数据库了,如图所示:

image-20230112142406098

  我们将其实例化并将其分配给一个任务:

image-20230112142502962

  之后我们书写它的调用逻辑,在如下代码中,会向数据库插入一条语句,我们运行起来测试一下:

image-20230112142600219

  我们向如图所示的库中插入数据,目前可见该库中没有任何数据:

image-20230112143243997

  向结构体中填充测试数据并触发程序执行:

image-20230112143524482

  在触发提交后我们点开服务的前端控制软件,会发现它已经接收到了我们的SQL请求:

image-20230112143902781

  在数据库中我们也发现了数据确实落库了:

image-20230112143934844

2.Linux中的安装

  在Linux中我们只能安装服务端,我们在解压完压缩包之后,会发现在目录中存在这样的一个文件:

image-20230112145939457

  我们也能从官网中下载Linux版本的其他安装文件,但是总体上的安装方式都是相同的,在解压Linux的压缩包之后,我们会找到这样的一个目录,执行其中的脚本S4AConnector-inst就可以直接进行全部的安装。

image-20230112150231635

  在Linux中我们同样需要启动这个服务,我们使用指令:systemctl start S4AConnector启动服务,启动服务之后我们使用指令:systemctl status S4AConnector查看服务状态,如果如下图所示,则说明启动成功:

image-20230112150636292

重点注意事项

  需要注意的是在Linux版本中,该解决方案的操控仍然需要前端控制台操作,在Ubuntu或者其他的Linux操作系统中,安装SQL4Automation之后,桌面上都会出现和Windows中一样的三个工具的快捷方式,我们通过快捷方式能够打开一个和Windows中一样的界面,在有图形界面的系统中我们那样使用软件即可,但是在服务器中,我们没有图形用户界面,因此只能在配置文件中添加连接的信息,这个配置文件的默认路径为:/var/log/SQL4automation/config

image-20230112151157595

  我们查看其中的内容为:

image-20230112151313096

  理论上我们修改这里的配置信息就可以构建连接了,但是这里的密码等信息都是通过某种方式加密的密文,不能通过明文进行配置,并且当前也缺少服务端配置的资料,因此在服务端启动SQL4Automation还需要深入研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157812.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

王道操作系统笔记(一)———— 计算机系统概述

文章目录一、操作系统基本概念1.1 基本概念1.2 四大特征1.3 目标和功能二、操作系统的分类与发展三、操作系统的运行环境3.1 运行机制3.2 中断和异常3.3 系统调用四、操作系统的体系结构4.1 宏内核与微内核4.2 分层结构4.3 模块化4.4 外核五、操作系统引导六、虚拟机一、操作系…

nacos2.x集群版搭建

1. 预备环境准备 请确保是在环境中安装使用: 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。--这里使用linux系统64 bit JDK 1.8;下载. 配置。Maven 3.2.x;下载. 配置。3个或3个以上Nacos节点才能构成集群。官网地址:集群部署说明 2、服务器…

Android 深入系统完全讲解(12)

11 跟踪一个服务,直接找到驱动实现 如果说我自己学习整个系统,直到底层驱动的方法,我想说的就是我常用的就是跟踪震动这个模块,而为什么是这个,主要是简单,但是又是从上到下都具备,对于学习系统…

【OpenCV】拾遗

前言 本篇博客主要是总结OpenCV使用过程中遇到的一些问题,便于以后参考。 以下所有内容均基于VS2015 OpenCV_v4.5.1 及 VS Code MinGW_v4.3.5 CMake_v3.20.0 OpenCV_v4.5.1,前者的配置教程可以参考这个链接,后者的配置教程可以参考这个链…

2022年衣物清洁行业市场报告:洗衣液等四大高增长类目分析

随着人们经济水平的提高以及消费观念的升级,当前个护家清用品逐渐朝品质化、精细化、个性化的方向发展,类目衍生更替更频繁、迭代速度更快。 得益于庞大的人口规模,个护家清产品规模巨大,衣物清洁行业虽增速放缓但仍在个护家清行…

OpenFoam收缩扩张喷管(拉瓦尔喷管)边界条件的设置

简介 收缩扩张喷管(也成拉瓦尔喷管)广泛应用于火箭推进。将其流动特性定性描述如下: (1)当入口流量较小时,不出现雍塞,流速先增大后减小,全程为亚声速。出口压力即为大气压&#x…

金融数学建模——2022年大湾区杯金融数学建模B题(解题思路及部分python代码)

目录 一、概述 二、赛题及解读 1.赛题详情 2.赛题解读 三、解题方法 1.第一问 第一问部分代码 2.第二问 第二问部分代码 3.第三问: 第三问部分代码 4.第四问 三、总结 一、概述 这次比赛是我们队伍第一次参加金融数学建模,尽管在比赛前用2020年…

数据结构与算法4—队列

队列 队列的定义 队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。队列的修改是依先进先出的原则进行的。队列的基本操作 1.初始化队…

Vue前后端页面下载功能实现演示,Python+flask提供后台下载服务

Vue前后端页面下载功能实现效果图后台下载服务实现前台简单实现[ 文章推荐 ] Python 地图篇 - 使用 pyecharts 绘制世界地图、中国地图、省级地图、市级地图实例详解 效果图 首先看下演示效果。 点文档的话是 html 文档,跳转的预览,点下载的话是压缩包…

pycharm python 程序打包相关

前言 终于入门了python打包这个大话题,将目前学到的技能分享一下。 pycharm启动虚拟环境pipenv 缩小打包 和很多博客说的一样,打包那么大是因为打包了多余的库,因此想要缩小就需要一个干净的,没有多余的库的环境进行打包。也就是…

一文读懂内容生态驱动的“菌落式”增长

健康的内容生态对文娱行业极为重要。本文详细介绍了用内容生态建设驱动用户“菌落式”增长的路径。点击文末“阅读原文”立即观看完整直播回放,并下载演讲文档。内容生态与用户增长内容生态建设与用户增长互为因果。一方面,出圈的内容直接带来用户增长。…

《2022大数据产业年度创新服务企业》榜重磅发布丨金猿奖

‍年度金猿榜单/奖项本届“数据猿年度金猿策划活动——2021大数据产业创新服务企业榜单/奖项”由金猿&数据猿&上海大数据联盟共同推出。‍数据智能产业创新服务媒体——聚焦数智 改变商业2022年下半年度,由数据猿、金猿组委会共同推出的第五届 “年度金猿季…

通过usb利用adb实现android手机和pc机通信

1、 adb forward 原理概述 adb forward 的功能是建立一个转发 如:adb forward tcp:8000 tcp:9000 的意思是,将PC端的 8000 端口收到的数据,转发给手机中的 9000 端口。 但是光执行这个命令还不能转发数据,还需要完成下面两个步骤才…

【主色提取】HSV 颜色空间与 RGB 颜色空间互相转化的公式和代码

系列文章目录 第二章 主色提取之颜色空间转化 目录 系列文章目录 文章目录 前言 一、HSV 和 RGB 颜色空间 二、颜色转化 1. RGB to HSV 2. HSV to RGB 三、 完整代码 前言 HSV 颜色空间和 RGB 颜色空间的转化。 一、HSV 和 RGB 颜色空间 RGB颜色使用的最多&#xff0…

C语言详解【通讯录的实现】

前言: 在之前的学习中我们已经了解了结构体的一些知识,有了之前的知识的储备,在这里我们就可以尝试通讯录的实现。 目录问题描述基本流程前期的准备工作实现过程第一阶段第二阶段第三阶段1.增加联系人2.删除联系人3.打印通讯录4.查找指定联系…

高等数学(第七版)同济大学 习题11-7 个人解答

高等数学(第七版)同济大学 习题11-7 函数作图软件:Mathematica 1.试对曲面Σ:zx2y2,x2y2≤1,Py2,Qx,Rz2验证斯托克斯公式.\begin{aligned}&1. \ 试对曲面\Sigma:zx^…

yolov5+车道线检测

目标检测与车道线检测在自动驾驶以及车辆定位中起着重要的辅助作用,是环境感知中不可缺少的一个部分。基于深度学习的车道线检测方法近年来也在不断的提升,比如论文:Ultra Fast Deep Lane Detection with HybridAnchor Driven Ordinal Classi…

Allegro如何Wavie DRC操作指导

Allegro如何Wavie DRC操作指导 在做PCB设计的时候,会因为规则设置的原因,导致出现很多DRC,不方便检查,Allegro支持直接Waive掉正常DRC,方便检查,如下图 芯片中心需要打过孔方便散热,但是这些过孔的DRC是不需要显示的 具体操作如下 选择Display选择 Waive DRCs

数据结构与算法3—栈

1. 栈的定义 栈,也叫堆栈,是最常用也是最重要的数据结构之一。栈(Stack)是限定仅在表的一端进行插入或删除操作的线性表,通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。当表中没有元素时称为空栈。栈操作的特点&am…

【服务器数据恢复】StorNext文件系统数据恢复案例

服务器数据恢复环境: 昆腾系列存储,9个磁盘柜,每个磁盘柜配置24块硬盘。其中8个磁盘柜用于存储数据,1个磁盘柜用于存储元数据。上层使用的是StorNext文件系统。 存储元数据的磁盘柜中24块磁盘的分配情况:8组RAID1阵列1…