欢迎光临散文网 会员登陆 & 注册

基于KEPWare实现PLC与MES的握手通讯以及简单逻辑处理

2023-12-07 21:55 作者:工控小周  | 我要投稿

祝贺已超 1 万工控人加入 PLC 工业自动化精 英群

祝贺已超 1 万工控人加入 PLC 工业自动化精 英群

一、场景

在生产现场经常会有这样的场景,下位机PLC需要将一些数据上传给上位机或者MES,通常就是将一些数据存储到数据库。

面对此场景的业务需求,使用KEPWare的ODBC Clint、Link Tag的功能来实现。

其常见的信号交互流程如下图所示。

 

 

二、步骤

步骤一:

          在数据库中建立用来存储PLC相关数据的Table,表如下所示。

     

   说明:1、ID为自增长列。CreateTime默认值为getdate(),即每次新建数据时,CreateTime默认是以当时本地的时间来记录。

              2、Table的名称为TestTable。

步骤二:

           创建一个往TestTable中插入一行记录的存储过程。

    说明:

1、输入参数p1、p2对应着需要插入到TestTable中的Value1、Value2

2、输出参数p3用来获取执行结果(为什么不适用返回值来作为执行结果呢?后面会有说明)

步骤三:

在KEPWare中创建模拟PLC数据的Tag(如果有实物PLC可以直接配置实物的PLC驱动来进行)

a、新建Channel的时候Driver选择Simulator的驱动,此驱动可以完成数据的模拟。 

         

 

b、新建4个Tag。

       

 步骤四:

a、在KEPWare中新建ODBC Client,来连接数据库。(具体的操作细节可以百度 KEPWare ODBC)

b、在Access method selection中选择Stored Procedure

         

c、在Stored Procedure selection中选择刚刚创建的名称为INSERT_TESTTAB的存储过程。

         

d、配置完成KEPWare会自动生成Tag。

       

说明:

1、Execute:每次写完成的时候,Execute stored procedure (on write complete).都会执行,而不是从flase变为true执行这点需要特别注意。

2、input_p1、input_p2对应着存储过程p1、p2的输入参数,input_output_p3为p3的输出参数。

3、output_RETURN_VALUE对应着存储过程的返回值。注意output_RETURN_VALUE为只读的Tag。

步骤五:

在KEPWare中新建Link Tag将ODBC Client的Tag和模拟PLC的Tag关联。

   

  

    

三、测试

按上述流程图进行测试。

将1写入到Value1、1写入到Value2,然后将Request置位,然后执行完存储过程,Response会被置1。结果在数据库中成功插入了一条数据,如下所示。



基于KEPWare实现PLC与MES的握手通讯以及简单逻辑处理的评论 (共 条)

分享到微博请遵守国家法律