碰焊机触摸屏软件开发
1 软件需求
人机界面为MCGS 10寸触摸屏1062KW,接口为RS232/RS484/以太网,供电电源为24V。机触摸屏的功能为机器人的基本状态信息显示和对机器人的控制及参数给定。
目前设计的小车分成两栏共10格,需要将对应的触摸屏大致分成相应的10大格,会在工艺上规定每个格子只能放哪几类工件,然后在触屏上每个格子上给出相应的型号,下拉菜单或者缩略图等需要具体沟通,当来料小车停到位,工人在触屏上选好对应的工件,开启,触屏跟机器人控制柜通信,机器人控制柜控制碰焊机进行对应的碰焊作业。
采用RS232让触摸屏和贝加莱控制器通讯,通讯线缆距离大约为2米。控制信息包括:使能、启动、停止、急停、工件型号、槽位(1~10),数量,初始化(复位)。状态显示信息有机器人状态(就绪,使能,运行,暂停),故障信息,工序信息等。
2 通讯接口开发
2.1 硬件连接
触摸屏COM口RS485/RS232的通讯接口定义如下:
RS485 A+ |
RS485B- |
RS232 RX |
RS232 TX |
GND |
7 |
8 |
2 |
3 |
5 |
RS232需要将贝加莱控制器的RX连接触摸屏的3口,将控制器的TX连接至触摸屏2口,GND连接至触摸屏的5口。
2.2 通讯设备设置
RS232通讯设备采用通用串口父设备,子设备采用莫迪康ModbusRTU协议,添加以下设备窗口,如图2所示。
图2 添加通讯设备
通用串口父设备的属性为:
串口端口号:RS232对应的是0-COM1,1-COM2对应的是RS485通讯
通讯波特率:11 - 57600bps
数据位:1 - 8位
停止位:0 - 1位
数据校验位:0 – 无校验
莫迪康ModbusRTU设备的属性需要设置设备的地址,将从站地址设为1,该地址需要与控制器下面的地址相对应。
2.3 通讯协议定义
(1)读取寄存器(功能码:03)
触摸屏请求指令格式为:
字节 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
含义 |
1 |
03 |
ADDRH |
ADDRL |
NUMH |
NUML |
CRCL |
CRCH |
地址 |
功能码 |
待读取参数首地址 |
指令数(参数个数1~125) |
CRC校验 |
控制器响应指令格式为:
字节 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
||
含义 |
1 |
03 |
BYTECNT |
DATAH |
DATAL |
DATAH |
DATAL |
CRCL |
CRCH |
地址 |
功能码 |
响应字节数= 指令数*2 |
DATA1 |
DATA2 |
CRC校验 |
例:触摸屏请求读取地址为101的参数的值,控制器返回值为5
触摸屏请求:1 3 0 100 0 1 CRC
控制器响应:1 03 02 00 05 CRC
要读取的状态信息依次为:机器人状态,故障信息
(2)写乘法寄存器(功能码 16)
触摸屏向控制器连续写入多个字节,客户端发送数据格式为:
字节 |
0 |
1 |
2~3 |
4~5 |
6 |
7~8 |
…… |
||
含义 |
1 |
16 |
ADDR |
NUM |
BYTECNT |
DATA1 |
DATAn |
CRCL |
CRCH |
地址 |
功能码 |
首地址参数 |
指令数 (1~100) |
字节数 |
第1个数据 |
第n个数据 |
CRC校验 |
控制器响应返回数据格式为:
字节 |
0 |
1 |
2~3 |
4~5 |
6 |
7 |
含义 |
1 |
16 |
ADDR |
NUM |
CRCL |
CRCH |
地址 |
功能码 |
写入首地址 |
指令数 |
CRC校验 |
第1个槽位的地址为0020,共10个槽,依次写入每一个槽位放置的物料的类型
和数量
触摸屏发送:1 16 0 20 0 10 20 1 2 3 4 5 6 7 8 ……CRC
控制器返回:1 16 0 20 0 10 CRC
使能命令:
使能:地址为0001
启动:地址为0002
停止:地址为0003
急停:地址为0004
发送启动命令的数据为:
客户端请求: 1 16 0 2 0 1 2 0 1 CRC
服务器响应: 1 16 0 2 0 1 CRC
(3)CRC校验函数
cBuffer:计算CRC校验码的数组。
iBufLen:该数组的长度。
unsigned int CRC_Verify(unsigned char *cBuffer, unsigned int iBufLen)
{
unsigned int i, j; //#define wPolynom 0xA001
unsigned int wCrc = 0xffff;
unsigned int wPolynom = 0xA001;
/*---------------------------------------------------------------------------------*/
for (i = 0; i < iBufLen; i++)
{
wCrc ^= cBuffer[i];
for (j = 0; j < 8; j++)
{
if (wCrc &0x0001)
{ wCrc = (wCrc >> 1) ^ wPolynom; }
else
{ wCrc = wCrc >> 1; }
}
}
return wCrc;
}
碰焊机触摸屏软件开发相关推荐
- linux 触摸屏 软件开发,4.6.2 触摸屏应用开发接口
4.6.2 触摸屏应用开发接口 在Linux系统中,所有的输入设备(键盘.鼠标.触摸屏)都使用统一的输入系统进行管理.每个/dev/input/eventX都对应着一个输入设备.这些输入设备可以通过 ...
- C#上位机串口软件开发--第1讲 工程创建
打开"Visyal Studio 2019"软件,点击"创建新项目(N)",准备创建项目工程,如下图1所示. 图1 先选择"windows窗体应用(. ...
- 华为机试——软件开发机试真题2020.04.29
1.获取字符串排列组合数量 题目描述: 输入:字符串 输出:该字符串中的元素能够排列组合成的最多的数目 例如:输入abc,能够排列abc acb bac bca cab cba六种 输出:6 当 ...
- linux 触摸屏 软件开发,Linux系统下触摸屏的简单使用和配置方法
如果你装的是 Ubuntu 发行版,那么基本上你的 X 的配置文件 (xorg.conf) 里面已经设置好了相关的驱动,是默认设置,你只需要添加些相关的参数就 ok 了.下面是 Ubuntu 默认的触 ...
- C#工控上位机实例_南京物流仓库【仓库物流】_智能云仓储库存wms管理分配货_电子标签价签拣货系统_工控erp上位机软件开发设计...
?南京滨江开发区300平方变压器250KVA厂房陆郎加油站附近开发区 | 物流仓库 | 厂房招租 南京滨江开发区陆郎加油站附近300平方独门独户厂房招租?变压器250KVA?适合小型磨具机械加工无污染 ...
- 上位机软件开发项目案例(一)_C#开发
了解或咨询 上位机软件开发/LabVIEW软件开发/C#软件开发/QT软件开发,请访问AgainDo再度科技官网:www.againdo.com 概述 该软件为线束连接器自动化生产设备上位机软件,系统 ...
- 上位机软件开发流程是怎样的?上位机开发软件分享
随着科技的发展, 上位机软件开发已经成为当今社会的一个重要组成部分.上位机软件开发是一种技术,它可以帮助用户更好地控制和管理计算机系统.它可以帮助用户更有效地完成任务,提高工作效率,提高生产力. 上位 ...
- 基于C#的工控上位机软件开发从入门到学废,需要几步?
基于C#的工控上位机软件开发从入门到学废,需要几步? 随着工控产品的应用,开始大幅度渗透进民用领域.涉及的工控产品范围广泛,如PLC.DCS.变频器.仪表.电机.SCADA.低压及配电元器件等. 准备 ...
- 双转盘装配机,软件PRO7功能块版 由松下xh和威纶触摸屏制作
双转盘装配机,软件PRO7功能块版 由松下xh和威纶触摸屏制作,程序成熟可靠,借鉴价值高,程序有注释 ID:6915672151181177
最新文章
- select模型详解
- 计算机在材料科学中的应用计算机在浓度场中的数值模拟研究,计算机在浓度场中的数值模拟研究.doc...
- 《JS权威指南学习总结--6.7属性的特性》
- Linux中文件查找技术大全
- Python 自动化,Helium 凭什么取代 Selenium?
- linux nohup后台执行管道操作
- opengl渲染4k数据提高效率
- JMM内存模型详解(一)
- 125条常见的java面试笔试题大汇总3
- Android单元测试(七):Robolectric,在JVM上调用安卓的类
- 使用Android OpenGL ES 2.0绘图之二:定义形状
- CTR点击率预估实战分享
- 烧钱两年,做事对得起工资,也要对得起公司这份决心
- HTML5制作个人理财系统,个人股票理财专题页面html模板
- 实现当输入框为空时,按backspace键后执行相应操作(明确按键监听事件和文本框内容变化的内在逻辑)
- 这家协同办公软件厂商,也曾如盛夏莲花般绽放
- STM32之继电器驱动(上下拉电阻)
- 安卓一体机开发板,安卓主板广告机
- 地形建模(二)--TIN拉伸成模型并贴纹理
- 读书笔记-《wxPython in Action》一