-
使用MCGS触摸屏与单片机通讯的心得
2018-09-30 08:56:401.MCGS的设备驱动是真的不好用,灵活性较差,当然这里针对MCGS与单片机通讯的时候,PLC设备还好。所以如果你想做MCGS与单片机通讯,最好采用他们提供的脚本驱动开发工具V2.0,这个在网上都能找到的,这里我就不给出...使用MCGS在项目中已经有一年了,有些个人心得如下: 1.MCGS的设备驱动是真的不好用,灵活性较差,当然这里针对MCGS与单片机通讯的时候,PLC设备还好。所以如果你想做MCGS与单片机通讯,最好采用他们提供的脚本驱动开发工具V2.0,这个在网上都能找到的,这里我就不给出链接了。这款软件使用的语言是类VB语言,不完全遵循VB语言的语法规则,所以你还是要看下他的语法手册,这个已经在软件中集成好了,不需要另找。总结下,使用这种方式基本可以实现项目的功能,但会有些许麻烦。如果你的时间够多,可以使用单片机方式开发人机界面,这样会使你的自由度很高。 2.MCGS的以太网通讯暂不支持自主开发驱动,这点很局限 希望各位能使用好MCGS,祝大家工作愉快!
-
触摸屏与单片机的通讯
2012-05-06 19:42:55介绍了51单片机和触摸屏之间的通讯技术,给出了方案和程序 -
威纶通触摸屏与单片机MODBUS_【干货】施耐德PLC与威纶触摸屏通讯步骤
2021-01-07 17:24:54140CPU67160 RJ45 与威纶通 MT6100I 触摸屏 RS485 通讯说明1:PLC 设置2:MT6100I 设置3:通信线制作UNITY PLC 需与触摸屏通讯,接线方式参照上图。NC 不接。正常后 CPU167160 显示 4854、140CPU67160 统J45 与 MT6100I...140CPU67160 RJ45 与威纶通 MT6100I 触摸屏 RS485 通讯说明
1:PLC 设置
2:MT6100I 设置
3:通信线制作
UNITY PLC 需与触摸屏通讯,接线方式参照上图。NC 不接。正常后 CPU167160 显示 485
4、140CPU67160 统J45 与 MT6100I 触摸屏 统S485 通信热备冗余,只需将两个 CPU 统J45 线并接到触摸屏 统S485 线上即可。
MT6100i与Premium系列PLC以Unitelway方式通讯说明
第一:Premium系列 PLC端设端设置, PLC 设置端口 CTER 对 AUX接口与可以与MT6100i通信信:协数设置 PLC 口 通信参 , 设 置,PLC设置为主站等步骤。
第二步:对HMI程序设端设置:添加 TE UniTelway驱动,设置接口类型与通信参
第三步:务必保证触摸屏与 PLC 通讯电缆接线正确,接线方式如下:
威纶通 tk6070ih 与 M340 通讯说明
1、触摸屏与 M340PLC 之间通讯线对接线序如下
RJ45的RS485 端口定义如下图:
2、下位机 modbus 口设置如图
设置从站 波特率 据 校验 物理线路为 485
3、触摸屏画面 系统参 设置
其中本机 PLC 2 是由我们自己建立 ,点 新增可以建立,其中设置如下
我们选择 是 统S485 通信,设置照图设置,其他默认C点 编辑—系统参 设置从 MODBUS 统TU 到 Local HMI 传输属于输出量,反过来则是输入量,bit 是 离散量,word 是模拟量。每步个地址 据交换需要新增步个。
-
MCGS触摸屏与单片机Modbus协议通讯
2013-06-10 09:34:53此程序为51单片机与MCGS组态监控软件Modbus RTU通讯下位机程序, 此程序在STC12C5A60S2单片机上测试通过,可以移植到其他51系列单片机! 包含下位机单片机程序,上位机界面,Modbus RTU 驱动级说明文件。 -
51单片机与维控触摸屏基于MOSBUS通讯程序
2018-09-27 10:19:4651单片机与维控触摸屏基于MOSBUS通讯程序,能处理上位机发给下位机的所有指令 -
触摸屏与PIC单片机通信
2012-11-25 20:47:48:介绍了PIC单片机与威伦触摸屏的通讯方法及实现过程。简要分析了Modbus通讯协议,给出了PIC单片机与 ...成功应用于光电色选机系统,同时也为开发者采用触摸屏与带串行接口的智能设备之间的通信连接提供了参考。 -
威纶通触摸屏与单片机MODBUS_威纶通案例集锦51-55
2021-01-11 14:48:5152 控制不了输入点Q:触摸屏做了三菱PLC的X点的元件,但是控制不了X输出?A:是的,PLC端X点无法通过触摸屏控制输出,屏上只能做X点的显示。53 MODBUS通讯延时Q:MT8101ie走MODBUS协议连接两台...51 三菱PLC可读不可写
Q:MT8102IQ和三菱Q系列PLC通讯,屏无法写入PLC,但是可以读取PLC的状态和数值?
A:PLC程序中"允许RUN中写入"打钩,程序下载重启后解决。
52 控制不了输入点
Q:触摸屏做了三菱PLC的X点的元件,但是控制不了X输出?
A:是的,PLC端X点无法通过触摸屏控制输出,屏上只能做X点的显示。
53 MODBUS通讯延时
Q:MT8101ie走MODBUS协议连接两台台达温控仪,同时只能连接一台?
A:将通讯延时调至30后实现通讯。
54 基恩士的位地址格式
Q:MT8102iE与基恩士KV7500通讯,读取DM_bit100中的数据,不管是0位还是1位都没有变化?
A:地址误填DM_bit100.0,根据地址格式(如图标示),正确的是DM_bit10000,所以会读取不到。
55 西门子200地址对应
Q:西门子端200中VB是8bit的,威纶通软件中没有8bit,怎么对应?
A:VB地址直接对应,格式选择16bit;
VW地址使用2的倍数地址,格式选择16bit;
VD地址使用4的倍数地址,格式选择16bit。
-
维纶屏与51单片机通讯示例.zip
2019-05-09 23:08:12本程序主要讲述维纶触摸屏与51单片机的通讯实例,包括触摸屏程序,单片机程序与线路图。 -
基于Modbus协议的89C51单片机与台达触摸屏通讯系统研究
2020-06-03 15:18:06针对台达触摸屏内没有与既有的89C51单片机通信程序,但却支持Modbus通信协议,用89C51单片机编程实现Modbus通信协议的功能,进行两者之间的通信连接。 -
迪文DGUS屏通过单片机转发与欧姆龙PLC(hostlink mode-c协议)实现通讯
2018-08-23 16:21:51闲来无事,做个记录,触摸屏使用迪文DGUS-T5D2 10.1寸触摸屏,单片机STM32F013系列,欧姆龙CP1E-N40PLC,之所以通过单片机转发是因为迪文触摸屏价格的巨大优势,核算单片机成本后,10.1寸触摸屏价格不超过400元,...闲来无事,做个记录,触摸屏使用迪文DGUS-T5D2 10.1寸触摸屏,单片机STM32F013系列,欧姆龙CP1E-N40PLC,之所以通过单片机转发是因为迪文触摸屏价格的巨大优势,核算单片机成本后,10.1寸触摸屏价格不超过400元,其次就是迪文触摸屏质量还算可以,进入正题。
1.迪文触摸屏配置:
1)串口配置:迪文触摸屏T5触摸屏串口配置在文件T5UID2.CFG文件,具体配置参看迪文手册:"T5UID2应用指南.PDF",我配置的串口参数:115200,8,1,N;
2) 界面配置:根据使用的触摸屏分辨率,做一张相应分辨率的图片,做好按键,数据显示框,再做一张键盘页面,通过迪文软件转换成迪文屏幕可以使用的图片将两张图片加载到软件;
注:T5屏的0x1000以上变量地址用户使用,这里需要注意。
(1)配置按键:在图片的按键部分放置一个“按键返回”控件,配置:按键地址0x1000,键值0,勾选“数据自动上传”;
键盘按键配置:在图片的按键部分放置多个“基础触控”控件,根据提示设定键值:0-9,退格,确认,取消等键值,设定好后放在对应位置;
(2)显示框配置:在图片显示框部分放置一个“数据变量显示”控件,变量地址0x1100;
(3)输入框配置:这个需要做好键盘;在图片显示框部分放置一个“变量数据录入”控件,变量地址0x2100,勾选“数据自动上传”,键盘设置,选择做好的键盘,设置好对应的显示位置坐标(这里是控制用户输入的数据显示在屏幕那个位置)。
至此,触摸屏配置完成;
2.STM32F103VCT6
配置:
1)硬件:迪文T5触摸屏使用无壳体屏串口输出电平为TTL电平,由于传输距离有5米左右(单片机还有其他用途,距离较远),所以触摸屏端使用232芯片转换为232电平.
屏端:24V输入使用LM7805输出5V给屏和MAX232供电,屏幕供电的24地很干净,所以不做隔离;
单片机和屏端:同样24V输入使用LM7805输出5V再通过LM1117-3.3输出3.3给STM32F103VCT6和SP3232EEN供电,单片机端232转换芯片使用兼容3.3V的SP3232EEN;
CP1E端:使用RS232或者RS485选件板;
单片机对CP1E端:使用MAX3485或者SP3232EEN连接转口,芯片选择兼容3.3V;
至此,硬件配置完成;
2)软件:
1)PCL-CP1E:使用hostlink mode-c协议,为接收到命令后主动响应,所以PLC端不需要编程;
2)STM32软件使用“STM32CubeMX”配置,生成KEIL MDK5工程,很简单,网上有很多教程,需要使用什么功能可以去查;
3.通讯协议:
1)STM32F103VCT6与T5屏按键的实现:
按键下发给单片机的数据格式: 5A A5 06 83 10 00 01 00 00
5A A5:帧头,可以在T5UID2.CFG文件修改;
06:该字节后接收的数据长度;
83:迪文指令;
10 00:变量地址;
01:数据长度,单位“字”;
00 00:数据,这里是前面按键控件键值设定多少,接收就是多少;
然后根据接收的键值不同来控制PLC-CP1E的开关量,在这里我接收到上个按键之后,是控制PLC的H1.00的打开和关闭,
下面阐述开关PLC的H1.00;
因为H区的写入是按字写入的,所以在写H1.00之前,需要保持H1.01--H1.15的状态不变,我们先读取H1整个字节的状态,然后对第0位取反后在写入PLC的H1寄存器,hostlink mode-c协议为ASCII码:
读H区的指令格式如下:@00RH+0001+0001+FCS校验(两字节)+*+结束码,对应单片机程序如下:
usart2_txBuf[0] = 0X40;//@ 0X40
usart2_txBuf[1] = 0X30;//0 0X00
usart2_txBuf[2] = 0X30;//0 0X00
usart2_txBuf[3] = 0X52;//R 0X52
usart2_txBuf[4] = 0X48;//H 0X48
usart2_txBuf[5]=(uint8_t)((start_addr>>12)&0x000f);
usart2_txBuf[5]=HEX2ASCII(usart2_txBuf[5]);
usart2_txBuf[6]=(uint8_t)((start_addr>>8)&0x000f);
usart2_txBuf[6]=HEX2ASCII(usart2_txBuf[6]);
usart2_txBuf[7]=(uint8_t)((start_addr>>4)&0x000f);
usart2_txBuf[7]=HEX2ASCII(usart2_txBuf[7]);
usart2_txBuf[8]=(uint8_t)(start_addr&0x000f);
usart2_txBuf[8]=HEX2ASCII(usart2_txBuf[8]);//4字节地址
usart2_txBuf[9]=(uint8_t)((len>>12)&0x000f);
usart2_txBuf[9]=HEX2ASCII(usart2_txBuf[9]);
usart2_txBuf[10]=(uint8_t)((len>>8)&0x000f);
usart2_txBuf[10]=HEX2ASCII(usart2_txBuf[10]);
usart2_txBuf[11]=(uint8_t)((len>>4)&0x000f);
usart2_txBuf[11]=HEX2ASCII(usart2_txBuf[11]);
usart2_txBuf[12]=(uint8_t)(len&0x000f);
usart2_txBuf[12]=HEX2ASCII(usart2_txBuf[12]);//读取长度
XORCheck(usart2_txBuf, 13);
usart2_txBuf[13]=((FCS_CHECK>>4)&0x0f);
usart2_txBuf[13]=HEX2ASCII(usart2_txBuf[13]);
usart2_txBuf[14]=(FCS_CHECK&0x0f);
usart2_txBuf[14]=HEX2ASCII(usart2_txBuf[14]);//校验
FCS_CHECK=0;
usart2_txBuf[15]=0X2A;// "*" 0X2A
usart2_txBuf[16]=0X0D;// 结束码单片机等待PLC返回数据后,返回数据为ASIIC码形式,处理数据后并对H1的第0位取反,在将对应数据写到PLC的H1寄存器; 写H区指令如下:@00WH+0001(写入的开始地址)+0001(写入数据)+FCS校验+*+结束码,对应单片机程序如下:
usart2_txBuf[0] = 0X40;//@ 0X40
usart2_txBuf[1] = 0X30;//0 0X00
usart2_txBuf[2] = 0X30;//0 0X00
usart2_txBuf[3] = 0X57;//W 0X57
usart2_txBuf[4] = 0X48;//H 0X48
usart2_txBuf[5]=(uint8_t)((start_addr>>12)&0x000f);
usart2_txBuf[5]=HEX2ASCII(usart2_txBuf[5]);
usart2_txBuf[6]=(uint8_t)((start_addr>>8)&0x000f);
usart2_txBuf[6]=HEX2ASCII(usart2_txBuf[6]);
usart2_txBuf[7]=(uint8_t)((start_addr>>4)&0x000f);
usart2_txBuf[7]=HEX2ASCII(usart2_txBuf[7]);
usart2_txBuf[8]=(uint8_t)(start_addr&0x000f);
usart2_txBuf[8]=HEX2ASCII(usart2_txBuf[8]);
for(i=0;i<len;i++)
{
usart2_txBuf[i*4+9]=(uint8_t)(((*(cio_data+i))>>12)&0x000f);
usart2_txBuf[i*4+9]=HEX2ASCII(usart2_txBuf[i*4+9]);
usart2_txBuf[i*4+10]=(uint8_t)(((*(cio_data+i))>>8)&0x000f);
usart2_txBuf[i*4+10]=HEX2ASCII(usart2_txBuf[i*4+10]);
usart2_txBuf[i*4+11]=(uint8_t)(((*(cio_data+i))>>4)&0x000f);
usart2_txBuf[i*4+11]=HEX2ASCII(usart2_txBuf[i*4+11]);
usart2_txBuf[i*4+12]=(uint8_t)((*(cio_data+i))&0x000f);
usart2_txBuf[i*4+12]=HEX2ASCII(usart2_txBuf[i*4+12]);
}
XORCheck(usart2_txBuf, 13);
usart2_txBuf[len*4+9]=((FCS_CHECK>>4)&0x0f);
usart2_txBuf[len*4+9]=HEX2ASCII(usart2_txBuf[len*4+9]);
usart2_txBuf[len*4+10]=(FCS_CHECK&0x0f);
usart2_txBuf[len*4+10]=HEX2ASCII(usart2_txBuf[len*4+10]);
FCS_CHECK=0;
usart2_txBuf[len*4+11]=0X2A;// "*" 0X2A
usart2_txBuf[len*4+12]=0X0D;//结束码cio_data为定义的数组,里面存放需要写入的数据值,H1的第零位取反后放入这里,len位写入寄存器的长度;这里我们只写入H1,所以len=1;
至此,更改H1.00结束;
同理根,据上述操作使用WD和RD命令可以读取和写入PLC的D区;
2)写入T5屏,使T5屏显示读取的PLC数据:
使用WD命令读取PLC的数据后,将plc的数据处理,然后发送给触摸屏,发送触摸屏程序如下:
com_buf[0] = 0x5a;
com_buf[1] = 0xa5;
com_buf[2] = 0x05;
com_buf[3] = 0x82;
com_buf[4] = 0x11;//写入触摸屏的地址
com_buf[5] = 0x00;
com_buf[6] = 0x00;com_buf[7] = 0x05; 写入的数据5
HAL_UART_Transmit(&huart1,com_buf,8,20);//STM32F103发送函数;
触摸屏供电和RS232<-->TTL硬件电路如下图:
实物图,由于没有正好大小的电容,电感,所以看上去有点歪:
-
串口屏(触摸屏)组态软件+多台51单片机MODBUS RTU多机串口通信程序源码
2017-04-18 16:58:00串口屏(触摸屏)组态软件+多台51单片机MODBUS RTU多机串口通信程序源码实现触摸屏(串口屏)与单片机的通讯,主要是解决通讯协议的问题。本文使用开放的Modbus通讯协议,以广州易显的...触摸屏与单片机之间采... -
单片机与DSP中的基于STM32的带触摸屏的无线解说器
2020-10-19 17:34:58通过对触摸显示屏的操作,实现手持部分和终端部分二者的无线通讯。系统采用大容量的SD卡作为存储部分,通过SPI将VS1003B与SD卡的数据与STM32进行交互通信。本解说器在播放时没有出现理论上的断续情况,音质较好,占用的... -
单片机工程师轻松实现触摸屏人机界面的界面编程
2013-07-27 15:55:23很多时候,工业控制或者产品设计方面受...单片机与人机界面触摸屏通讯的最简单,最有效的 2种方法,其实就是分为2种通讯协议,即工业标准的 Modbus RTU协议和工程师自己定义的 自由协议。 本实例采用其中一款人机界 -
串口屏与触摸屏人机界面组态软件HMIMaker介绍
2017-03-14 16:11:00触摸屏人机界面组态软件HMIMaker,是一款基于ARM架构的嵌入式控制系统开发的嵌入式软件,专业应用于触摸屏的二级界面开发,具有单片机协议,modbus通讯协议,I2C通讯协议,西门子,三菱,台达,欧姆龙,信捷,永宏等... -
单片机与昆仑通态实现通讯
2019-10-11 09:31:49触摸屏通道 usSCoilBuf[0] 8 7 6 5 4 3 2 1 usSCoilBuf[1] 16 15 14 13 12 11 10 9 usSCoilBuf[2] 24 23 22 21 20 19 18 17 usSCoilBuf[3] 32 31 30 29 28 27 26 25 usSCoilBuf... -
linux--6410触摸屏驱动
2011-08-28 04:29:00目前,市面上很多6410开发板都存在触摸屏抖动的问题,tiny6410也不例外,友善的解决方法是采用一线触摸,即在LCD板上,用一个单片机控制ADS7846芯片AD转换,再将数据通过单总线的方式与6410通讯。可是,我这里没有... -
基于STM32的带触摸屏的无线解说器
2020-08-15 02:25:33通过对触摸显示屏的操作,实现手持部分和终端部分二者的无线通讯。系统采用大容量的SD卡作为存储部分,通过SPI将VS1003B与SD卡的数据与STM32进行交互通信。本解说器在播放时没有出现理论上的断续情况,音质较好,... -
转:linux--6410触摸屏驱动
2014-09-30 20:54:37目前,市面上很多6410开发板都存在触摸屏抖动的问题,tiny6410也不例外,友善的解决方法是采用一线触摸,即在LCD板上,用一个单片机控制ADS7846芯片AD转换,再将数据通过单总线的方式与6410通讯。可是,我这里没有... -
威纶触摸屏 MT510T双串口应用实例
2021-01-19 20:18:19新增了对多种新型号PLC的支持,另外除了支持常见的PLC通讯外,更新增对辅助设备(AUX)的支持,实现了人机界面同时与PLC及辅助设备通讯,辅助设备可以是变频器,温控器,单片机等。下面举例说明MT510T双串口通讯方式的... -
工业平板电脑 迅为iTOP-HMI102-N 10寸工业触摸屏
2019-09-13 10:36:49摘要: ● iTOP-HMI102-N(10.2寸工业触摸屏)以太网触摸屏,配有2组独立的...● 串口支持各种PLC协议和标准的MODBUS协议,可方便连接各种PLC和智能仪表,同时也可以自由的与单片机进行通讯。; ● 可以配4G存储SD... -
工业平板电脑 工业触摸屏 迅为iTOP-HMI102-N 人机界面介绍
2017-03-09 09:32:40● 串口支持各种PLC协议和标准的MODBUS协议,可方便连接各种PLC和智能仪表,同时也可以自由的与单片机进行通讯。;● 可以配4G存储SD卡,将报警数据、历史数据统统的保存进去,保证了详细的数据记录;● 配有标准的... -
显示/光电技术中的威纶触摸屏 MT510T双串口应用实例
2020-11-18 06:10:27新增了对多种新型号PLC的支持,另外除了支持常见的PLC通讯外,更新增对辅助设备(AUX)的支持,实现了人机界面同时与PLC及辅助设备通讯,辅助设备可以是变频器,温控器,单片机等。下面举例说明MT510T双串口通讯方式的... -
STM32与MCGS通讯.zip
2021-01-13 15:48:22这是一个STM32单片机与昆仑通泰触摸屏(Hl系列)的一个通讯例程,把串口配置改成与自己的单片机一样的就行,还要注意触摸屏工程里面的设备地址 -
移植ads7846驱动到tiny6410(tiny6410)(ads7846)(移植)(触摸屏)(抖动)
2012-09-10 16:29:51目前,市面上很多6410开发板都存在触摸屏抖动的问题,tiny6410也不例外,友善的解决方法是采用一线触摸,即在LCD板上,用一个单片机控制ADS7846芯片AD转换,再将数据通过单总线的方式与6410通讯。可是,我这里没有... -
(原创)移植ads7846驱动到tiny6410(tiny6410)(ads7846)(移植)(触摸屏)(抖动)...
2011-06-23 21:04:00目前,市面上很多6410开发板都存在触摸屏抖动的问题,tiny6410也不例外,友善的解决方法是采用一线触摸,即在LCD板上,用一个单片机控制ADS7846芯片AD转换,再将数据通过单总线的方式与6410通讯。可是,我这里没有... -
基于单片机的采煤机变频器安全预警系统的设计
2020-07-08 23:54:59该设计采用新型温度传感器采集变频器工作中的温度场温度,下位机以具有AD转换功能的STC-IAP15W4K58S4单片机为核心,与上位机触摸屏之间通过Modbus协议进行通讯。并提出了一种改进型多次累加求和法,准确实现变频器温度... -
工业液晶串口屏人机界面组态软件开发指南
2015-01-04 11:00:44介绍工业串口液晶显示触摸屏与人机界面组态软件HMImaker的开发指南,工业液晶显示触摸屏是一种包含TFT LCD显示屏、LCD控制器、触摸屏、人机界面组态软件系统和单片机TTL电平串口,RS232,RS485,以太网等通讯接口于...