⑴ plc触摸屏程序的编写有几种方法各是什么
介绍一种在PIC单片机与触摸屏之间采用Modbus协议实现异步串行通信的方法。简单介绍了Modbus通信协议,给出了硬件电路连接图、程序流程图以及用PIC单片机C语言编写的部分通信程序。实际使用证明该方法数据传输稳定可靠,并提供了良好的人机交互环境。
关键词:触摸屏 PIC单片机 Modbus协议 通信
工控中经常需要观察系统的运行状态或者修改运行参数。触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。单片机广泛应用于工控领域中,与触摸屏配合,可组成良好的人机交互环境。触摸屏和单片机通信,需要根据触摸屏采用的通信协议为单片机编写相应的通信程序。Modbus协议是美国Modicon公司推出的一种有效支持控制器之间以及控制器经由网络(例如以太网)和其它设备之间进行通信的协议。本文以PIC16F877单片机和人机电子有限公司的eView MT510T型触摸屏为例,介绍其通信程序的开发过程。
1 系统结构
实现触摸屏与单片机的通讯,主要是解决通讯协议的问题。本文使用开放的Modbus通讯协议,以触摸屏作主站,单片机作从站。eView触摸屏本身支持Modbus通讯协议,如果单片机也支持Modbus协议,就可以进行通信了。触摸屏与单片机之间采用的RS-232C兼容接口直接连接,传输速率设置为9600kb/s。图1为该系统的电路图。
将PIC16F877单片机RC6、RC7口设置为异步串行通信模式,经过MAX232芯片将TTL电平转换为RS232电平,再与eView触摸屏PLC[RS-232]接口相连,即完成了硬件连接。eView触摸屏PLC[RS-232]接口的管脚2为TXD,管脚3为RXD。
2 Modbus通信协议介绍
Modbus通信协议是一种串行的主从通信协议,网络里仅有一台设置可作为主机(称Master),其它设备作为从机(称Slaver),主机不需编号,从机必须编号。协议定义了主机查询及从机应答的信息帧格式。通信时,主机首先向从机发出请求信息,符合相应地址码的从机接收通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务,然后把执行结果返给主机。若从机接收到的校验码与本机计算的不同,则说明数据在通信过程中出现错误,从机把这次请求视为无效,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。当主机收到这一信息时,会重新发送请求信息。校验方式分为LCR(传送数据为ACSII时)校验或CRC(传送数据为二进制时)校验,这里采用CRC校验方式。
信息传输为异步方式,并以字节为单位。主从站之间通讯的字格式如表1所示。
表1 通讯的字格式
字格式(串行数据) 10位二进制
起始位 1位
数据位 8位
奇偶校验位 无
停止位 1位
Modbus协议可支持ASCII码或二进制格式的数据传输。ACSII码方式下每一个字节数据分两个字节传送,二进制方式下用一个字节传送,为了减少数据传输量,一般选二进制数据方式。各个区允许发送的字节均为16进制的0~9,A~F。二进制信息帧标准结构为:
初始结构 ≥4字节的时间
地址码 1字节
功能码 1字节
数据区 N字节
错误校验 16位CRC码
结束结构 ≥4字节的时间
二进制模式中,信息开始至少需要3.5个字符的静止时间,依据使用的波特率,很容易计算这个静止时间。发送完最后一个字符后,也有一个至少3.5个字符的静止时间,然后才能发送一个新的信息。网络上的设备连续监测网络上的信息,包括静止时间。
3 单片机与触摸屏地址的对应关系
eView触摸屏只支持Bit和Word地址类型,而实际的单片机或其它控制器还有Byte、Double Word等表示方法,因此在进行通信时,需要把单片机和触摸屏的数据进行变换。触摸屏画面元件读取地址的设备类型有LW、0x、1x、3x、4x、RWI、RW等选项。其中,LW表示该元件读取的是触摸屏内部的地址,如其它元件的地址;0x表示读取的是控制器的输出信号;1x表示读取的控制器的输入信号;3x和4x指控制器的寄存器地址类型,其中4x是可读可写的,3x是只读的;RWI、RW都是触摸屏的内部地址,起辅助作用。使用这些读取地址的设备类型,触摸屏即可显示或设定控制器寄存器或I/O口的数值。以“数值输入”元件为例,通过“小键盘”输入数据即可设置单片机寄存器或I/O口的数值。如果启动了“触发地址”,那么当被触控时,输入的数据就被存放到了指定的单片机地址中。
4 通信程序的开发
触摸屏与单片机的通信程序采用PIC单片机C语言编写。编译工具选择Hitech公司的PICC编译器。程序共分三大模块,即初始化模块、数据接收模块以及数据处理及发送模块。主程序流程图如图2所示。
PIC16F877单片机USART功能模块带有一个八位的波特率发生器BRG,BRG支持USART的同步和异步工作方式。用SPBRG寄存器控制一个独立的八位定时器的周期。在异步方式下,发送状态/控制寄存器TXSTA的BRGH位(即D2)被用来控制波特率。对串行口进行的初始化如下:
GIE=1; %全局中断允许;
SPBRG=25; %设置波特率为9600;
TXSTA=0x04; %选择异步高速方式;
RCSTA=0x80; %允许同步串行口工作;
RTISC6=1;
TRISC7=1; %将C口的RC6和RC7设置为异步串行通信模式;
PFIE=1; %外围接口中断允许;
RCIE=1; %USART接收中断允许;
TXIE=1; %USART发送中断允许;
数据接收模块由一个中断函数组成。该中断函数将触摸屏发来的Modbus数据帧存储在一个自定义的数组中,当一帧数据接收完时,置接收结束标志位为1,转入数据处理及发送模块。串行通信接收器的核心是接收移位寄存器RSR,当接收到停止时,如果RCREG缓冲器为空,RSR就把接收到的数据送入RCREG。传送完成后,接收中断标志位RCIF被置1。实际的中断是否被CPU响应,可以通过设置外围接口中断允许寄存器PIE1的中断允许位RCIE来控制。
数据处理及发送模块执行Modbus协议功能码对应的运用。eView触摸屏与单片机以Modbus协议通信,用到的Modbus功能码如表2所示。
表2 通信程序用到的功能码
功能码 eView地址名称 含 义 作 用
01 0x 读开关量输出 读取一路或多路开关量输出状态
03 4x 读保持寄存器 读取一个或多个保持寄存器的数据
05 0x
1x 写开关量输出 强置一路继电器的“分/合”输出
16 3x
4x 预置多寄存器 把具体的数据装入一组连贯的保持寄存器
以Modbus功能码03为例来说明触摸屏及单片机的实际通信数据格式。如单片机地址编号为01H,触摸屏需要查看单片机中地址为0031H的寄存器的值,发送命令格式如表3所示。
表3 触摸屏发送数据结构
数据段名称 数据值
地址 01
功能码 03
读取地址高位 00
读取地址低位 31
读取数据个数高位 00
读取数据个数低位 01
CRC校验码高位 D5
CRC校验码低位 C5
假设单片机中地址为0031H的寄存器中断为05H,则单片机的回复命令如表4所示。
表4 单片机应答数据结构
数据段名称 数据值
地址 01
功能码 03
读取字节数 02
寄存器数据高位 00
寄存器数据低位 05
CRC校验码高位 78
CRC校验码低位 47
当波特率达到38400kb/s时,通信仍然稳定可靠。本系统具有连接电路简单、组态灵活、通信可靠性高等特点,并已成功应用于物料筛选控制系统项目中。由于Modbus通信协议的开放性的特点,国外进口控制器串行通信大者支持该协议,因此本文所实现的采用Modbus协议的串行通信具有广泛的应用价值。
QQ94504093
⑵ 触摸屏程序和plc程序有什么不一样
触摸屏程序编的是图形,PLC程序是梯形图语言。
PLC程序又叫可编程序控制器,是用来控制电气设备传动的智能仪器,它需要工程人员利用编程语言编写程序,以实现各种控制方式。
触摸屏程序可与PLC可编程序控制器直接连接,实现对可编程序控制器直接编写程序,以及通过可编程序控制器编程对所采集的变量实事监视和控制。
(2)编写触摸屏程序有什么感受扩展阅读
PLC编程是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。
可编程序控制器及其有关设备,都应按易于使工业控制系统形成一个整体,易于扩充其功能的原则设计。
⑶ 触摸屏PLC程序怎样写
触摸屏编程软件EBPRO的概述.mp4,免费下载
链接:https://pan..com/s/1QJZqKodE_xR4H3wcKNX3Uw
触摸屏(Touch Panel)又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。
⑷ 信捷触摸屏程序写为mcgs程序怎么写,有哪些要注意的
这个功能可太多了,数学运算、画面切换、串口通信、数据存取、属性修改、权限设置、权限管理、配方管理、配方设置等等,说不完了
编写就在脚本里编写就行了,可以在启动脚本,退出脚本,循环脚本,按钮属性脚本,事件脚本,等等地方编写
⑸ 触摸屏如何编程
问题一:关于 怎么编程触摸屏 一般触摸屏是配套PLC使用的。PLC实现控制功能,触摸屏实现输入以及监视、显示等功能。当然触摸屏的功能很多,但是最常用的就是这个。
不论PLC还是触摸屏,都是需要编写程序的。每种触摸屏都有对应的编程软件,具体怎么编写不是一句两句说的清,可以看手册。
问题二:触摸屏的操作如何来实现PLC程序控制的 触摸屏实际叫做人机界面,是一种可以与控制设备通讯的人机控制方法。可以想象成按钮指示灯仪表的 *** 。想要了解触摸屏的工作原理就必须要懂得通讯,我们知道一个按钮要控制一个接触器就必须要有电信号的传输,也就是开关量。而触摸屏控制一个接触器则必须通过一个控制器来控制接触器,比如PLC.首先触摸屏必须了解所要控制的设备,也就是必须有控制器的通讯协议,例如MODBUS,PROFIBUS,CAN等,正常情况下是触摸屏拥有该PLC的通讯协议就相当于,我(触摸屏)对你(PLC)说你闭合M0.0,你(PLC)就可以正确的识别该命令解释,并执行!
流程是必须在PC机(也就是电脑)上安装该触摸屏的组态软件(各个品牌的屏所对应的组态软件也不相同),打开软件组态,开始组态,也就是耿制画面,并定义连接的地址(这个地址是PLC内部元器件的地址,如西门子的I,Q,V,T,C,三菱的X,Y,M,等等做画面之前最好详细的列出PLC需要触摸屏控制的点),当然前提是必须定义与之通讯的通讯协议,也就是定义PLC的类型。(所以选购触摸屏之前一定要参考样本,知道其是否支持你想使用的PLC控制器)组态完成后下载到触摸屏(各厂家的屏所用的方式不同,有的是USB下载有的是232有的是485),下载完成后用连接线将触摸屏连接到PLC就可以控制PLC动作了!
全部手工打的!希望对你有益!
问题三:如何使用触摸屏编程软件 ykhmi v3.2 [v3.2.613]
1、修复多功能键外形
2、增加最新产品及报价
3、修复西门子驱动问题
4、修复画面重叠问题
5、S500A增加双串口
6、常规更新
[v3.1.608]
1、增加系统参数掉电保存
2、增加鼠标隐藏
[v3.1.399]
1、修复数位报警MODBUS地址过长
2、在线模拟器增加手动选择串口的功能
3、常规更新
[v3.1.397]
1、修复西门子驱动通讯慢的问题
[v3.1.396]
1、修复仪表控件不能设置参数问题
2、增加位报警表头宽度
[v3.1.393]
1、更新固件
2、常规更新
[v3.1.388]
1、增加蜂鸣器受控位参数
2、增加LW、LB掉电保存参数
3、常规更新
[v3.1.387]
1、新增在线与离线模拟器
2、新增西门子VD等元件
3、新增Modbus 4x_D等元件
[v3.1.378]
1、修复罐体图控件不刷新
2、更新固件
[v3.1.375]
1、修复4.3A流动块相关问题
2、更新固件程序(V3.9)
[v3.1.372]
1、增加下载次数显示(单位:次)
2、增加使用时间显示(单位:小时)
[v3.1.371]
1、解决部分Win8/10双击无响应BUG
2、常规更新
版本号:v3.1.367
1、解决部分Win8.1/Win10系统无法使用滚动条bug
2、常规更新
[v3.1.366]
1、解决部分Win8.1运行慢的bug
2、解决绘图超出边界bug
3、更新固件程序(V3.7)
[v3.1.362]
1、解决直线、曲线在Win8 64位无法使用的问题
2 、解决杀毒软件误报,已过金山360白名单
3、更新固件程序
[v3.1.358]
1、增加罐体图形控件
2、增加数字签名,可支持Win8/8.1 x64位驱动
3、增加菜单项――修复工程
4、增加人机保护使用时间(小时)
5、增加人机保护使用次数(开机次)
6、增加串口参数的接线图参考
7、更新固件程序
问题四:PLC与触摸屏连接后,触摸屏的程序是怎样编写的? 触摸屏要读取PLC的数据,可以在通讯哗置与PLC相关的驱动。配置完成后,直接下载到触摸屏中就可以通讯了。
问题五:plc触摸屏一体机怎么编程 要是西门子的,那直接编触摸屏的程序,画面什么的,里面的输入输出点要和PLC的输入输出对应。
之后把触摸屏和PLC通讯线连上。
这样就实现触摸屏控触PLC了。也可以像组态画面似的,起到监控作用。
问题六:有PLC,和PLC程序,有触摸屏,但是没有触摸屏程序,怎么重写触摸屏? 100分 可以试一下!穿透功能。不知道用过没有
由于不知道PKC的品牌和型号。大致说下吧
如果PLC有两个通讯接口最好了,一个接PC另一个接触摸屏。PC上打开PLC的编程软件进入在线模式,改变数据寄存器的数值,在触摸屏上看下哪个改变了,下面的事你知道怎么办了吧(特别注意下数据寄存器的前后关系)
PLC只有一个接口的话!将PLC与触摸屏相连、触摸屏的编程口与PC连接(信捷触摸屏通讯口和编程口是不一样的) 在PC 上打开编程软件点在线看下可不可以连的上
穿透功能
问题七:维纶触摸屏怎样编程 首要要下载触摸屏对应的平台软件,变成在里面有个宏指令可以进行编程,用的语言是VB
问题八:给机械设备编程(PLC和触摸屏)的步骤和方法 这个无所谓哪个先后的。不过一般来说先编写PLC程序好些。因为你的PLC程序里不仅包括了触摸屏,还有外部开关等信号。而且触摸屏编程比PLC简单得多。
问题九:PLC加触摸屏编程费用怎么报 通常你按照正常的工作量和该编程是否单独一个还是批量的设备。
1、如果单独的一个设备用,那么,你按照一个工程师当地的日薪水平,那么当完成这个设计后,你需要多少时间,进行一下计算,接着计算一下调试所需时间,日后维护估计的可能时间。
即:行业正常工作时间薪酬+调试时间+维护时间
2、如果是批量生产设备的使用,那么就应该预计对方半年内的销售量,那么收费组成:
行业正常工作时间薪酬+调试时间+维护时间+预算每台提成费用(此费用约前三项的3-5%)
我想这样比较合理,并且有据可循。
问题十:信捷TOUCHWIN触摸屏编程线怎么制作 你到信捷官网去看看,