研选课堂
HOME
研选课堂
正文内容
plc编程逻辑交互 PLC设计的串户检测人机交互系统,数据准,实时性好,功能易扩展
发布时间 : 2024-11-25
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC设计的串户检测人机交互系统,数据准,实时性好,功能易扩展

串户检测装置是一户一表供电中可有效识别用户串户、反接等问题的智能装置之一。福州大学电气工程与自动化学院、国网福建省电力有限公司漳州供电公司的研究人员白蔚楠、曾泽宇、游建章、洪翠,在2020年第1期《电气技术》杂志上撰文(论文标题为“基于可编程逻辑控制器的串户检测触控人机交互系统设计”),为用户串户检测装置设计了一个基于可编程逻辑控制器的触控式人机交互系统,以触控屏实现用户信息输入、信号启动及显示,用可编程逻辑控制器通信协议更便捷地实现可编程逻辑控制器与上位机的数据互传。试验结果表明,本文设计的交互系统数据互传准确且实时性好,触屏操作增强了人机交互操作的便利性。该系统易于实现功能扩展。

近年来,已全面实施低压集中抄表改造项目。工程实施过程中施工质量监管不严可能导致电能表串户问题日益严重。串户将导致用户电费缴纳与实际用电情况不一致,对用户影响很大。传统的串户检测方法(如简单跳负荷开关和增加负荷)存在反复停电、耗费时间长、约定检测时间难以及现场检测工作管理监督难度大等问题。

在当前智能电网理念指导下,用户串户检测装置向着不停电自动检测方向发展。装置主要包含自动检测装置和管理平台,旨在不停电情况下对表户关系进行自动检测,并将现场检测结果上传至管理平台,自动形成报表用于分析和总结,有效减少了人力成本,同时保证了检测结果的准确性。

本文提供了一种基于可编程逻辑控制器(pro- grammable logic controller, PLC)的串户检测触控人机交互(human-machine interaction, HMI)系统实现方案,用于用户串户检测装置,可实现更为便利的用户信息输入、信号启动、结果显示及准确的数据互传等功能。

1 智能用户串户检测系统

本文所针对的新型智能用户串户检测系统主要包括管理平台和现场自动检测装置。现场自动检测装置是串户检测系统的主体,包括信号发生装置和信号检测装置,用于采集电表信息、生成并检测信号、串户诊断、显示及上传检测结果。管理平台主要用于将电能表编号等信息与营销业务应用系统中的电能表档案信息进行自动核对匹配以及结果存档。系统总体设计方案示意图如图1所示。

图1 系统总体方案示意图

检测人员首先在表箱处利用扫码枪获取智能电能表编号,并通过信号检测装置将其上传至主站管理平台,主站管理平台将现场发回的电能表编号与营销业务应用系统中的电能表档案信息进行匹配,获取用户信息并返回现场;接着检测人员根据用户信息,将信号发生装置接入对应用户家中任意插座,并输入房间号进行二次核对,同时设置启用检测。

最后,信号检测装置接收到启用检测信号之后开始进行信号采样,通过检测算法判断是否存在串户现象,显示结果并上传主站,在确定未发生串户后进行下一户的排查工作,否则进行再次核查。

1.1 检测装置设计方案

检测装置实现方案示意图如图2所示,包括家中的信号发生装置以及表箱处的信号检测装置。信号发生装置包含人机交互模块、可控负载模块、CPU模块、通用无线分组服务(general packet radio service, GPRS)模块、电源模块。信号检测装置由人机交互模块、电流采样模块、扫码模块、CPU模块、GPRS模块、电源模块组成。

人机交互模块主要便于检测人员实现查询信息、启动检测、查看结果等操作;CPU模块根据人机交互模块下发的操作命令进行信号发生、数据采集以及串户判断等;可控负载在启动检测时通过CPU模块控制投入与切除;GPRS模块用于与主站之间的联络以及数据的上传;电流采样模块在启动检测后通过CPU模块控制投入采样;电源模块为各功能模块供电。

图2 检测装置实现方案示意图

1.2 人机交互模块

综上分析,在智能串户检测系统中,人机交互系统起着信息输入、信号启动、结果显示及进行数据互传等与CPU模块结合实现的作用。因此,为更好地实现人机交互模块与CPU模块之间功能的配合,考虑装置的安装、功能的实现以及数据传递的便捷,本文针对串户检测系统设计了基于PLC的触控人机交互系统实现方案,结合PLC与触控屏技术实现串户检测装置中与CPU模块之间的人机交互的功能界面设计、数据存储以及数据通信。

该设计方案的优点在于:

1)利用以触控屏为操作界面和以PLC为中间环节的思路,可以很好地对人机交互的通信进行设计,无需在触控屏到CPU中间经过繁琐的通信转换,甚至重新制定通信规约。该人机交互方案,利用触控屏与PLC之间通信的互通,再由PLC自带的通信方式就能直接与CPU模块进行报文的收发,进而进行相应的地址位的修改和数据的传递。2)所使用的触控屏与PLC均可以使用相对成熟的便捷组态化编程,基于模块化的思想可以对所需功能的模块分别进行设计,进而再进行组合,方便在线功能的调试,同时PLC还可以便于前后期其他功能的增加,具有较好的扩展性能。3)对于现场装置来说,所提供的人机交互方式可行性较高,因为PLC与触控屏模块是独立的模块,方便装置故障排查和更换,且PLC占用空间较小,为现场装置箱的设计带来便捷。

2 PLC与触控屏的应用

2.1 PLC的应用

近年来,PLC具有使用方便、通用性强、可靠性高、适应面广、编程简单及抗干扰能力强等一系列优点,目前已经成为工业自动化领域中最重要、应用最广的控制设备之一。永宏(FATEK)经济型PLC具有性价比较高、所使用通信协议覆盖功能全面、使用简单、通用性好的特点,在电气控制、通信领域得到较为广泛的使用,应用前景较好。并且,为了强化PLC的通信能力,相关厂商都在发展专用的通信模块和软件,协商统一的通信标准。

2.2 触控屏的应用

作为硬件系统与人之间沟通和信息传递的媒介,触控屏技术实现信息的内部形式和用户可接受形式之间的转换,具有使用方便、操作简单、可视化水平高、数据传输快、人机交互可靠等优点[7-8],已在厂矿、冶金、交通工业生产中得以广泛应用。目前,越来越多的研究将触控屏应用于电气领域,特别是在设备监测、故障检测等方向。

组态软件是触控屏技术中重要的一环,主要为触控屏开发提供平台,利用软件中提供的工具,依据自身的过程数据库,连接各种硬件设备(如PLC等),同时通过人机交互界面将采集处理的数据展现给用户或者数据库。

目前较为常用的组态软件有Kinco HMIware、Easy Builder8000、WinCC flexible等,它们针对的硬件类型略有不同,但基本上都提供了常用组件库以及相关设备驱动,可以自由连接多种硬件设备,用户可以依据需求选择功能模块来完成工程的设计,极大降低了工程设计的难度,提高了开发效率。

3 人机交互系统通信协议

通信协议是人机交互系统中实现PLC与CPU模块连接的语言约定。本文所设计人机交互系统通信实现过程示意图如图3所示。

其中,PLC相当于是通信桥梁:只有根据指定的协议发送报文,才能实现对PLC状态改变、数据存储、状态监测等功能;而PLC返回的报文只有通过通信协议解析才能得到CPU模块分析需要的各项数据;最终实现CPU模块与PLC之间的数据互传,以及将结果显示在触控屏上。同时,触控屏还能下达指令给PLC向CPU模块发送标志位信息,以实现获取用户信息、进行串户检测等功能。

图3 人机交互系统通信实现过程

本文设计使用通信协议为FATEK通信协议。该协议中,整个通信采用主站发送和接收的方式,PLC内部无需特定梯形图编程实现下位机通信程序。

3.1 信息格式

在FATEK通信协议中,主站发出的命令信息与PLC发出的响应信息均被分为6个数据域,其通信信息格式如图4所示。

图4 FATEK通信信息格式

图4中,起始字符(STX)为对应的十六进制数02H,接收方以此来判断传输资料的开始;PLC站号为两位十六进制数,永宏PLC的站号可以将其设置为1~255,即为对应的1H~FFH;指令号码为两位十六进制数,根据不同的指令,可以实现不同的功能。

本文资料可为0~500个ASCII字符,在命令信息中,此信息用于指定命令所要运作或存取的对象及要写入的数值;校验是为了保证数据传递过程没有少传、多传、误传等操作,FATEK通信协议采用的校验方式是纵向冗余校验(LCR);结束字符(ETX)为对应的十六进制数03H,接收方以此来判断此次通信的结束。

3.2 通信指令

FATEK通信协议有多种指令,常用的几种描述见表1。

表1 FATEK常用通信指令

本文设计系统主要使用了指令44、45、46、47来实现用户信息的输入、信号发生以及显示结果。

4 系统设计与试验

图5所示是本文所设计基于PLC的串户检测触控人机交互系统总体结构,主要包括3个部分,即应用层、数据层和通信层。基于模块化的设计思想,分别对触控屏界面、功能、PLC通信进行设计,最后进行联合调试,在降低工程复杂度的同时,也便于功能的扩展。

图5 人机交互系统总体结构图

应用层主要是通过触控屏来实现各模块的功能,包括信息输入、信号查询、信息发生以及结果显示。其中,信息输入模块主要是可以通过人为或者利用扫码枪输入用户房间号;信息查询主要实现接收并查看户主信息(姓名、电话号码等)功能;信号发生模块主要是向检测装置发送串户检测指令;结果显示实现的是接收并显示串户检测状态的结果。

数据层主要是将PLC作为中间环节,进行数据的写入与读取以及地址状态位的改变。通信程序在串户检测装置起动时将实时读取PLC内部缓存器的信息,并将其传输给CPU模块以便于进行串户检测。

通信层实现的是PLC与CPU模块建立通信的功能,保证双方能够可靠通信:报文上传时,通过通信程序解析得到数据进行分析;报文下发时,通信程序将其传达给PLC进行数据写入与读取以及状态位改变。

4.1 系统设计

综合考虑产品的经济性以及设计难度,本文设计人机交互系统选用步科ET070型号的触控屏,PLC选用了永宏FBs系列FBS-10MAR2-AC,HMI组态软件选用Kinco HMIware,PLC编程软件选用WinProladder,通信协议选用FATEK通信协议,PLC与触控屏之间选用RS232进口通信,PLC与CPU模块选用RS232进行通信。

1)触控屏界面与功能设计

图6所示为Kinco HMIware主界面,新建工程即可开始编程工作。首先是触控屏与PLC连接设置,在“HMI”选用匹配的ET070型号触控屏,在“PLC”选项选择匹配的FATEK FB型号PLC,在“通信连接”选择串口通信将二者的COM0口连接。根据永宏PLC硬件参数,在触摸屏模块COM0串口设置通信类型、数据位、波特率、奇偶校验位以及停止位。

图6 Kinco HMIware主界面

触控屏人机交互主界面的设计如图7所示。选择右侧HMI下拉菜单,选中主菜单画布进行设计,该界面主要布置包括“信息核对”、“开始校验”两大功能模块。完成后的触屏主界面如图8所示。

图7 人机交互主界面设计

图8 完成后的触屏主界面

信息核对模块包含信息输入以及户主信息查询,完成后的信息核对界面如图9(a)所示。其中,房间号可以由用户输入或者通过扫码枪扫入信息,CPU模块采集到相应数据之后,通过数据库匹配将户主姓名缩写以及电话号码返回并显示。完成后的校验模块界面如图9(b)所示,主要实现信号发生以及结果显示的功能。一旦用户点击“启动负载”,即可启动串户检测,待CPU模块分析完成后将结果返回,并使得对应结果信号灯由绿转红。

图9 触控屏功能模块分界面

在将界面及功能设置完成后,在各功能模块属性设置关联的PLC缓存变量地址以及状态地址,以实现PLC与触控屏的数据交互。编译完成之后,离线模拟触控屏的使用状况,将工程下载到ET070触控屏即可。

2)PLC界面与功能设计

图10所示为WinProladder主界面,新建工程后选择PLC对应型号即可进行编程工作。

图10 WinProladder主界面

根据FATEK通信协议,CPU模块向PLC发送报文时,PLC内部无需设计相应的梯形图即可进行相应指令操作,并返回相应报文实现与人机交互系统的数据传递。但为了便于人机交互系统的功能扩展,在工程内设计了包含主程序区与子程序区(WRITE、READ、DETECT、RESULT)的梯形图,如图11所示,具体功能还可以根据后期需求进行添加。

图11 主程序区与子程序区梯形区

设置完成后进行编译,连接并将工程下载到PLC硬件,在工具栏选择“PLC”→“设定”→“通信参数”,保证通信端口对应的通信类型、数据位、波特率、奇偶校验位以及停止位等参数一致。

3)串户检测系统通信设计

在将硬件配置好后,需对人机交互进行通信的设计。根据2.1及2.2中FATEK通信协议的通信格式以及通信指令,结合串户检测系统需要的功能,设计了以下实现用户信息输入、信号发生以及显示结果的指令,见表2。

其中,写入电话号码、读取电话号码、读取房号、写入姓名是实现CPU模块与PLC进行数据交换的功能;写入状态位(包括正常、串户、反接)、状态位复位是实现串户检测结果返回并显示在触控屏的功能;读取状态位是实现触控屏通过PLC向CPU模块发送检测信号的功能。

4.2 试验与测试

图12所示为本文设计基于PLC与触控屏的人机交互系统硬件测试接线与上电效果图。测试旨在通过电脑端利用串口调试工具在线向PLC发送相应的指令,模拟CPU模块,检测所设计各项功能的实现效果。其中,步科ET070触控屏由24V直流电源供电,FBS-10MAR2-AC型号PLC直接由交流电供电,且PLC与触控屏之间用RS232连接,PLC与电脑用RS232转USB方式连线。

1)用户信息输入功能测试

在触屏主界面选择“信息核对”,进入到子界面1,点击“用户名输入”,跳出键盘,输入房间号“2019”,并确认输入,如图13(a)所示;在调试工具中,发送“读取房间号”命令,接收到对应的房间号信息,如图13(b)所示。

表2 用户串户检测系统通信指令

图12 人机交互系统硬件测试接线与上电效果图

图13 信息输入功能测试界面

2)用户信息查询功能测试

房间号输入之后,PC端得到数据可以进行相应数据匹配,以写入用户姓名(缩写)、用户电话号码指令发送报文的用户信息查询功能测试界面如图14所示。

3)检测信号发生功能测试

在主界面选择“开始检测”进入到子界面2,点击“启动负载”,按钮状态变为“启动中”,如图15(a)所示;调试助手发送状态为查询指令,得到的结果如图15(b)所示,可见目标状态位由0置1,监测系统可根据此标志位开始下一步串户检测工作。

图14 用户信息查询功能测试界面

图15 信号发生功能测试界面

4)检测结果显示功能测试

当CPU模块通过算法检测出结果时,将发送对应的指令给PLC以改变状态位,分别如图16(a)—图16(c)所示,测试结果分别如图16(d)—图16(f)所示,可见均能有效返回结果。

图16ab 结果显示功能测试界面

图16cd 结果显示功能测试界面

图16ef 结果显示功能测试界面

5 结论

本文基于PLC与触控屏设计实现串户检测人机交互系统,论述了人机交互环节的功能、作用和设计过程。试验测试结果表明,该人机交互系统能够满足对串户检测系统的功能要求,实现信息输入、信息查询、信号发生以及结果显示等功能,便捷地实现与主站之间的数据互传;可为串户检测系统提供更好的人机交互性能,且易于功能模块扩展,对新型智能化用户串户检测装置的研发具有实用意义和应用价值。

【实操教程】用Shifu轻松实现PLC数字孪生交互,轻松掌握!

Shifu,是一个基于Kubernetes的开源物联网开发和管理平台(GitHub地址可丝信),为开发人员提供了一个便捷的工具,以连接、监控和控制各类物联网设备。PLC,作为工业自动化的核心,是一种可编程逻辑控制器,它能够执行逻辑运算、顺序控制、定时、计数和算术运算,从而驱动机械设备或生产流程。

Shifu的创新之处在于其对PLC设备的虚拟化实现。在Shifu演示中,用户可以体验到仅需一条命令即可控制PLC设备的便捷性,这标志着在数字孪生环境中对物理设备控制的一次重大飞跃。

本文将带你深入了解Shifu如何通过其演示用户指南,实现与PLC(可编程逻辑控制器)数字孪生的无缝交互。

一、部署Docker

1.下载并安装Docker

2.验证Docker的可用性

a.启动Docker服务并保持其运行状态。

b.在Linux/Windows/Mac命令行中执行:sudo docker ps。如果Docker运行正常,你将看到预期的输出。

二、安装Shifu

1.访问demo.shifu.run下载并安装Shifu。

安装完成后,Shifu将利用Docker启动。

2.检查Shifu运行状态

使用命令sudo kubectl get pods -A来检查Shifu是否已启动并运行中。如果所有状态均为“Running”,则表示安装成功。

三、与PLC数字孪生互动

1.启动Nginx

启动一个Nginx实例以模拟应用程序与Shifu的交互:

sudo kubectl run --image=nginx:1.21 nginx

sudo kubectl get pods -A | grep nginx

可以看到Nginx已经运行了:

2.启动PLC虚拟设备

首先,启动PLC的数字孪生:

sudo kubectl apply -f run_dir/shifu/demo_device/edgedevice-plc

通过sudo kubectl get pods -A | grep plc来确认PLC设备的数字孪生已经启动。

3.与PLC虚拟设备交互

进入Nginx容器:sudo kubectl exec -it nginx -- bash

通过访问http://deviceshifu-plc.deviceshifu.svc.cluster.local,即可与PLC的数字孪生进行交互。

curl "deviceshifu-plc.deviceshifu.svc.cluster.local/sendsinglebit?rootaddress=Q&address=0&start=0&digit=0&value=1";echo

例如,将PLC的Q0内存区域的第0位设置为1:

curl "deviceshifu-plc.deviceshifu.svc.cluster.local/sendsinglebit?rootaddress=Q&address=0&start=0&digit=3&value=1";echo

问答环节

Q:本次试玩如何模拟PLC?

A:在模拟过程中,PLC接收到sendsinglebit命令时会修改内存区域中的特定bit;接收到getcontent命令时则能获取内存区域中特定字节的值。

通过本文,我们见证了如何通过Shifu平台与PLC的数字孪生进行高效互动。当下,我们正站在新时代的门槛上,一个由数据驱动、智能互联的工业时代。未来,我们将继续共同探索这一激动人心的技术领域。

相关问答

简易plc怎么编程?

1.编程简易PLC是可以的。2.因为简易PLC相对于复杂的PLC而言,功能较为简单,编程也相对容易上手。它通常具有简单的指令集和易于理解的编程界面,不需要过多的...

先编写plc程序还是先编触摸屏?

在进行自动化控制系统设计时,通常建议先编写PLC程序,然后再编写触摸屏界面。这是因为PLC程序是控制系统的核心,负责实现逻辑控制和数据处理等功能。通过先编写...

发那科机器人与plc如何信号交互?

发那科机器人与PLC的信号交互主要通过通信接口和协议实现。发那科机器人通常支持以太网通信,并使用标准的TCP/IP协议进行数据传输。而PLC根据具体型号和厂家,...

实现机械、人、屏幕三者交互?麻烦懂人机交互PLC单片机等赐教?

plc可选西门子的,其他的也行,支持公开通信协议就行。组态软件,比如组态王等。剩下的就是搭建应用系统了,也就是业务逻辑控制关系这些。plc可选西门子的,其...

plc编程软件如何与CPU交互?

1,PLC与PC间连网线2,给plc上电3,打开step7-micro、winsmart4,双击屏区左区项目下CPU,选CPUSR40,出现系统块,IP192.168.2.1,子网俺码2...

工业机器人用plc控制还是自己有一套控制?

工业机器人用PLC控制还是自己有一套控制?答:工业机器人有自己的一套控制与驱动系统。单一的PLC控制无法完成工业机器人的复杂的运动和工作流程。因为机器人的机...

tia如何连接plc?

1.通过以太网连接2.PLC(可编程逻辑控制器)可以通过以太网连接到计算机或其他设备。以太网连接提供了高速、稳定的通信方式,可以实现PLC与其他设备之间的数据...

西门子1200与AGV小车进行点对点信息交互怎么写程序?

在西门子1200PLC中创建新项目。添加AGV小车通信所需的硬件模块,如以太网模块或串口模块。配置AGV小车通信模块的IP地址和端口号。在西门子1200PLC中编程,...

PC与PLC如何进行IO交互?

1.PC与PLC可以通过各种接口进行IO交互。2.一种常见的方式是使用串口通信,通过串口连接PC和PLC,PC可以发送指令给PLC,PLC也可以将数据传输给PC。另外,还可以...

触摸屏,PLC怎么样在同一台电脑上同时模拟-ZOL问答

西门子的是首先把程序下载到PLC中,然后把程序关闭,进入触摸屏选择通讯上之后点击在线模拟就可以了有用(0)回复Stud197如果你想联接人机模拟的话,我建议你这...

 应书岭  狸窝mp4转换器 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部