精华内容
下载资源
问答
  • 本程序主要讲述维纶触摸与51单片机通讯实例,包括触摸程序,单片机程序与线路图。
  • 使用MCGS触摸单片机通讯的心得

    千次阅读 2018-09-30 08:56:40
    1.MCGS的设备驱动是真的不好用,灵活性较差,当然这里针对MCGS与单片机通讯的时候,PLC设备还好。所以如果你想做MCGS与单片机通讯,最好采用他们提供的脚本驱动开发工具V2.0,这个在网上都能找到的,这里我就不给出...
     使用MCGS在项目中已经有一年了,有些个人心得如下:
     1.MCGS的设备驱动是真的不好用,灵活性较差,当然这里针对MCGS与单片机通讯的时候,PLC设备还好。所以如果你想做MCGS与单片机通讯,最好采用他们提供的脚本驱动开发工具V2.0,这个在网上都能找到的,这里我就不给出链接了。这款软件使用的语言是类VB语言,不完全遵循VB语言的语法规则,所以你还是要看下他的语法手册,这个已经在软件中集成好了,不需要另找。总结下,使用这种方式基本可以实现项目的功能,但会有些许麻烦。如果你的时间够多,可以使用单片机方式开发人机界面,这样会使你的自由度很高。
     2.MCGS的以太网通讯暂不支持自主开发驱动,这点很局限
     希望各位能使用好MCGS,祝大家工作愉快!
    
    展开全文
  • 介绍了51单片机和触摸之间的通讯技术,给出了方案和程序
  • MCGS触摸单片机Modbus协议通讯

    热门讨论 2013-06-10 09:34:53
    此程序为51单片机与MCGS组态监控软件Modbus RTU通讯下位机程序, 此程序在STC12C5A60S2单片机上测试通过,可以移植到其他51系列单片机! 包含下位机单片机程序,上位机界面,Modbus RTU 驱动级说明文件。
  • 51单片机与维控触摸基于MOSBUS通讯程序,能处理上位机发给下位机的所有指令
  • 针对台达触摸内没有与既有的89C51单片机通信程序,但却支持Modbus通信协议,用89C51单片机编程实现Modbus通信协议的功能,进行两者之间的通信连接。
  • 我在研发的一款产品,经常用着用着屏幕死掉,而单片机还能工作。我猜测是单片机的驱动板通讯出了问题,请问我该怎么解决呢?麻烦高手们给个建议,思路,指个方向,谢谢。
  • 本程序讲述的是威纶通单片机通讯实验
  • 1、昆仑通态做主机用昆仑通态组态软件开发,STM32单片机做从机由c语言代码; 2、在STM32单片机上,定义寄存器的开关量读取、数值采集读取的定义; 3、主机和从机通讯遵循Modbus协议; 3、昆仑通态主机按从机的...
  • 闲来无事,做个记录,触摸使用迪文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硬件电路如下图:

    实物图,由于没有正好大小的电容,电感,所以看上去有点歪:

     

          

    展开全文
  • :介绍了PIC单片机与威伦触摸通讯方法及实现过程。简要分析了Modbus通讯协议,给出了PIC单片机与 触摸异步串行通讯的硬件连接图和软件主要功能流程图,对测试结果进行了分析。实验验证:该方法稳定可靠,目前...
  • 通过51单片机,进行多机通讯,主机控制两个从机发送数据,数据为DS18B20所采集到的温度,并用串口显示当前温度
  • 单片机 触摸通道 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...

    移植modbus协议

    单片机 触摸屏通道
    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[4] 40 39 38 37 36 35 34 33
    usSCoilBuf[5] 48 47 46 45 44 43 42 41
    usSCoilBuf[6] 56 55 54 52 52 51 50 49
    usSCoilBuf[7] 64 63 62 61 60 59 58 57
    usSCoilBuf[8] 72 71 70 69 68 67 66 65
    usSCoilBuf[9] 80 79 78 77 76 75 74 73
    展开全文
  • 串口(触摸)组态软件+多台51单片机MODBUS RTU多机串口通信程序源码实现触摸(串口)与单片机通讯,主要是解决通讯协议的问题。本文使用开放的Modbus通讯协议,以广州易显的HMImaker触摸作主机(Master...

    串口屏(触摸屏)组态软件+多台51单片机MODBUS RTU多机串口通信程序源码
    实现触摸屏(串口屏)与单片机的通讯,主要是解决通讯协议的问题。本文使用开放的Modbus通讯协议,以广州易显的HMImaker触摸屏作主机(Master),单片机作从机(Slaver)。HMImaker触摸屏本身支持Modbus通讯协议,只要单片机按照Modbus协议进行收发数据,就可以进行通信了。触摸屏与单片机之间采用RS-485标准接口直接连接,与多台51单片机MODBUS RTU多机串口通信
    一、包括如下实例:

    二、串口屏(触摸屏)组态软件HMImaker实现功能:01、对4台51单片机4路数字量输入实现读操作,通过MODBUS RTU的02功能码实现;02、对4台51单片机4路继电器输出实现读操作,通过MODBUS RTU的01功能码实现;03、对4台51单片机4路模拟量输入实现读操作,通过MODBUS RTU的04功能码实现;04、对4台51单片机4路模拟量输出实现读操作,通过MODBUS RTU的03功能码实现;05、对4台51单片机4路继电器输出实现写操作,通过MODBUS RTU的05功能码实现;06、对4台51单片机4路模拟量输出实现写操作,通过MODBUS RTU的06功能码实现;07、组态工程以串口屏(触摸屏)组态软件HMImaker为例,如下所示:

    三、单片机从站支持的MODBUS RTU功能码:01、功能码01:此功能可对单片机4路(甚至更多,可扩展)数字量输出多路进行读操作;02、功能码02:此功能可对单片机4路(甚至更多,可扩展)数字量输入多路进行读操作;03、功能码03:此功能可对单片机4路(甚至更多,可扩展)模拟量输出多路进行读操作;04、功能码04:此功能可对单片机4路(甚至更多,可扩展)模拟量输入多路进行读操作;05、功能码05:此功能可对单片机4路(甚至更多,可扩展)数字量输出一路进行写操作;06、功能码06:此功能可对单片机4路(甚至更多,可扩展)模拟量输出一路进行写操作;07、功能码15:此功能可对单片机4路(甚至更多,可扩展)数字量输出多路进行写操作;08、功能码16:此功能可对单片机4路(甚至更多,可扩展)模拟量输出多路进行写操作。09、单片机程序截图如下




    四、通信参数如下:
    01、起始位:1位;
    02、数据位:8位;
    03、校验位:偶校验;
    04、停止位:1位;
    05、波特率:9600bps;
    06、物理层:RS485;
    07、通信协议:标准MODBUS RTU串口通信协议;
    08、串口选择:使用单片机串口1或者串口2;
    09、MODBUS RTU主站:组态软件HMImaker;
    10、MODBUS RTU从站:单片机。

    1、单片机TTL电平通讯,rs232串口,rs485串口通讯,CAN接口,支持音频播放功能,支持90度倒立显示

    2、配套人机界面组态软件HMImaker, "0"代码、 "0"编程、"所见即所得"、如制作PPT简单快速

    3、支持各种单片机使用,支持三菱,西门子,,台达,信捷等PLC通讯使用,支持modbus通讯

    4、单片机或PLC驱动控制4.3寸,5寸,7寸,8寸,10寸,12寸,15寸,42寸触摸屏,显示器,电视机

    5、工业触摸屏,工控主板,人机界面组态软件免费定制开发,大批量项目公司价格无条件支持。 



     

    串口屏(触摸屏)组态软件+多台51单片机MODBUS <wbr>RTU多机串口通信程序源码串口屏(触摸屏)组态软件+多台51单片机MODBUS <wbr>RTU多机串口通信程序源码

    串口屏(触摸屏)组态软件+多台51单片机MODBUS <wbr>RTU多机串口通信程序源码

    串口屏(触摸屏)组态软件+多台51单片机MODBUS <wbr>RTU多机串口通信程序源码

     

    转载于:https://www.cnblogs.com/vgalvds/p/6728703.html

    展开全文
  • 系统以STM32单片机为核心,采用SIM900模块GSM通讯,利用μC/OS-II与μC/GUI系统进行多任务与TFT彩屏的控制,并通过STM32的串口控制GSM模块STM900实现通讯。 系统通过STM32的SPI接口实现触控从而实现系统的输入、...
  • 0.96英寸oled单片机iic通讯中文说明,0.96英寸olediic通讯格式和时序
  • 单片机串行口与PC机通讯.doc 单片机串行通信发射机.doc 单片机和计算机的串行通信.doc 单片机课程设计1——新颖60秒LED旋转电子钟.doc 单片机课程设计2——数控低频正弦信号发生器.doc 单片机课程设计3——LED点阵双...
  • (1) 段码的驱动程序跟数码管的静态驱动程序一样,只要我们弄懂了怎样显示一个基本单位,根据此基本单位编写一个字库表,然后 用与(&...第二种:单片机用3个IO口跟HT1621进行通讯,用 HT1621驱动段码。...
  • 很多时候,工业控制或者产品设计方面受...单片机与人机界面触摸屏通讯的最简单,最有效的 2种方法,其实就是分为2种通讯协议,即工业标准的 Modbus RTU协议和工程师自己定义的 自由协议。 本实例采用其中一款人机界
  • 51 三菱PLC可读不可写Q:MT8102IQ和三菱Q系列PLC通讯无法写入PLC,但是可以读取PLC的状态和数值?A:PLC程序中"允许RUN中写入"打钩,程序下载重启后解决。52 控制不了输入点Q:触摸做了三菱PLC的X点的元件,...
  • OLED通讯示例代码,包括C51 STM8 STM32 等单片机的IIC和SPI通讯例程。
  • 通过对触摸显示的操作,实现手持部分和终端部分二者的无线通讯。系统采用大容量的SD卡作为存储部分,通过SPI将VS1003B与SD卡的数据与STM32进行交互通信。本解说器在播放时没有出现理论上的断续情况,音质较好,占用的...
  • 1、基本触控。...注意数据自动上传要勾选,否则不会给单片机发串口数据。 如果我们做了这样一个按键。 此处以按返回变量地址0000,键值0021为例: 5A A5 06 83 00 00 01 00 02 5A A5 表示:帧头 06 ...
  • 串口Modbus协议,串口的modbus协议资料,串口modbus通讯协议开发,串口之modbus协议使用技巧 本例程中用51单片机作为Modbus从机,从机的设备地址为2,从机有4个寄存器,寄存器地址分别为3,4,5,6,协议...
  • 2、驱动LCD1602,代码9个:初始化LCD1602、显示开或关和光标设置、LCD1602地址指针的设置、数据指针的位置设置、清屏操作、LCD显示写1个字节数据、LCD写入16个字节数据、LCD显示n字节数据、外加测试代码。...
  • 摘要:通过一个小型监控单元的设计实践,详细介绍了一种使用89C51...它与同类液晶显示模块相比,具有显示信息量大、亮度高、微功耗、体积小、质量轻、超薄等诸多优点,在移动通讯、仪器仪表、电子设备、家用电器等各
  • 89S52单片机的P0口外接8x1kΩ的上拉排阻与1602字符型液晶的数据线相连,P2.5、P2.6、P2.7与1602字符型液晶的三根控制线相连,组成系统的显示部分;P1口与16个按键开关相连,组成4×4行列式键盘;J4为RS232通信...
  • 51单片机例程.rar

    2021-01-09 18:11:42
    51单片机初学者非学全的学习的资料,代码、电路图、及相关说明。 各种实验01 LED灯 02 按键 03 蜂鸣器 04 继电器 05 数码管 06 LED点阵 07 动态-静态LED 08 PWM 09 步进马达 10 EEPROM 11 AD-DA转换 12 RTC实时时钟...
  • 单片机数字电压表

    2011-12-03 09:28:21
    本报告介绍了基于AT89S52单片机为核心的、以AD0809数模转换芯片采样、以1602液晶显示的具有电压测量功能的具有一定精度的数字电压表。在实现基础功能要求之上扩展了串口通讯、时钟功能、高压报警、短路测试、电阻...
  • 本实例是以STM32F103系列单片机作为核心处理器,利用VS1003芯片进行音频解码的一种无线解说器。通过对触摸显示的操作,实现手持部分和终端部分二者的无线通讯

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 140
精华内容 56
关键字:

单片机通讯屏