机械及行业设备
面议
FM211
更新时间:2019-01-18 09:49 免费会员
厦门(仲鑫达)自动化设备有限公司
  • 描述相符

    4.9
  • 服务态度

    4.9
  • 发货速度

    4.9
  • 关注人数

    15
  • 产品详情
  • 规格参数
  • 联系方式
【联系人:苏烈格】
【手   机: 18030170117】
【直线座机:0592-5211182】
【QQ: 3004859263 】
【传  真: 0592-5165561】 
【邮   箱:  3004859263 @qq.com】
【信誉第一、诚信交易】【长期销售、安全稳定】
【称心满意、服务动力】【真诚面对、沟通无限】
【服务第一、一诺千金】【质量承诺、客户满意】
----------------------------------------------------------------------


----------------------------------------------------------------------

 
基于多线程技术的PLC与PC的通讯方式
2018-03-13  来源: 工控网

 
 
 摘要:介绍了推进系统的基本组成,重点介绍了基于多线程技术的PLC与PC的通讯方式,给出了部分VC6.0的程序,该种通讯方法简单、实用有较高的实用价值。 

关键词:串行通讯PLC多线程重叠结构VC6.0 

0.引言 

在现代工业控制系统中,PLC以其高可靠性、适应工业过程现场、强大的联网功能等特点,被广泛应用。可实现顺序控制、PID回路调节、高速数据采集分析、计算机上位管理,是实现机电一体化的重要手段和发展方向。但PLC无法单独构成完整的控制系统,无法进行复杂的运算和显示各种实时控制图表和曲线,无良好的用户界面,不便于监控。将个人计算机(PC)与PLC结合起来使用,可以使二者优势互补,充分利用个人计算机强大的人机接口功能、丰富的应用软件和低廉的价格优势,组成高性能价格比的控制系统。 

1.系统构成 

推进系统中,PC机选用工控计算机。它是整个控制系统的核心,是上位机。其主要利用良好的图形用户界面,显示从PLC接收的开关量和控制手柄的位置,进行一些较复杂的数据运算,并且向PLC发出控制指令。 

PLC是该系统的下位机,负责现场高速数据采集(控制手柄的位置),实现逻辑、定时、计数、PID调节等功能,通过串行通讯口向PC机传送PLC工作状态及有关数据,同时从PC机接受指令,向蜂鸣器、指示灯、滑油泵、控制手柄的位置等发出命令,实现PC机对控制系统的管理,提高了PLC的控制能力和控制范围,使整个系统成为集散控制系统。 

2.通讯协议 

计算机与PLC之间的通信是建立在以RS232标准为基础的异步双向通信上的,FX系列PLC有其特定的通信格式,整个通信系统采用上位机主动的通信方式,PLC内部不需要编写专门的通信程序,只要把数据存放在相应的数据寄存器中即可,每个数据寄存器都有相应的物理通信地址,通信时计算机直接对物理通信地址进行操作。通信过程中,传输字符和命令字以ASCⅡ码为准,常用的字符及其ASCⅡ码对应关系。 

计算机与PLC进行通讯时,计算机与PLC之间是以帧为单位进行信息交换的,其中控制字符ENQ、ACK、NAK,可以构成单字符帧发送和接受,其余的信息帧发送和接受时都是由字符STX、命令字、数据、字符ETX以及和校验5部分组成。 

校验和在信息帧的尾部用来判断传输的正确与否,和校验码的计算方法是将命令码到ETX之间的所有字符的ASCⅡ码(十六进制数)相加,取所得和的最低2位数,在后面的通信程序设计里面还会提到。进行差错检验的方法很多,常用的有奇偶校验码,水平垂直冗余校验LRC,目前广泛使用的是CRC校验码,它能查处99%以上18位或更长的突出错误,而在计算机与PLC点对点的短距离通讯时,出错的几率较小,因而采用校验和法,基本能满足要求。 

3.多线程技术及在VC++串口通信程序中的实现 

在Windows的一个进程内,包含一个或多个线程,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等等。

一个进程内的所有线程使用同一个32位地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行和什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完任务后再执行。在多处理器的机器上,调度程序可以把多个线程放到不同的处理器上运行,这样可以使处理器的任务平衡,也提高系统的运行效率。 
Windows内部的抢先调度程序在活动的线程之间分配CPU时间,Windows区分两种不同类型的线程,一种是用户界面线程(UserInterfaceThread),它包含消息循环或消息泵,用于处理接收到的消息;另一种是工作线程(WorkThread)它没有消息循环,用于执行后台任务、监视串口事件的线程即为工作线程。 

Pneumax 1319.50.0200.01 05G 

Norgren M/6016/50 

SMC CQ2WA32TF-50DCZ 

SMC C85WE25-100 

Bosch 0822406092 

SMC AW30-F03BE-1N 

Rexroth R480051594 

Camozzi 31M2A040A080 

Phoenix 1DF17-152324 








Festo DNC-50-350-PPV-A 163368 AD08 

SMC AR6000-10 

SMC CDM2B40-75 

SMC CDMLN20-25-G79L 

SMC CDQ2B32-50DM 

SMC CMBN40-50 

SMC ISG130-030 

SMC VF3140-4DZ-03-0 

SMC VZ4120-5MOZ-01-U 

SMC CDMDN40-50C-B77L 

SMC VT315 

SMC VZ2250 

SMC CDMKL25-300 

Asco Joucomatic 52000090

Bosch Rexroth 0822341005 

Diottalevi 9160062-032/004 

Diottalevi 9055005-070/020 

Cai D2050200110 

Bosch Rexroth 2510510100 

Parker P3HVA11LN 

Parker P3KVA13LN 

Smc KQ2LE10-00 

SMC CDU10-50D 

SMC CDQ2B32F-120DCZ-X439 

SMC AFM40-F04D 

MP Filtri VUOTOSTATOE0 

SMC CDQ2B50TF-50DZ 

SMC CDMKF25-50-G79L 

SMC CDQP2B40-10D 

SMC CMFA30-160 








Hafner 260M-12-1/2 

Legris 48902121 

Festo MHA2-M1H-3/2G-2 Solenoid Valve 196118 A302 IP65 

SMC SY7120-3DZ-C8F-Q 

Legris 0107 06 00 Equal 

SMC EVZ5123-9MOS-01F-Q 

Pneumax 779/V.32.0.1A.M2

Norgren RA/8050/M/80 

SMC CD85WE20-250-B 

SMC CDMFN30-100 

SMC VZ4150-5MNZ-02 

SMC CDMFN30-100-G79L 

Bosch Rexroth 5284110050 

Bosch Rexroth R412010322 

Pneumax G1017000 

Pneumax 0766130676G 

Pneumax 00L0003176F

SMC VZ2150-5MZ-01 

SMC SY9420-5LOU-03F-Q 

Parker 38KBTF19MPX 

SMC CDQ2B50-35D 

SMC EVF3122-5DZ-02F 

Parker 1100P06C 04

Hafner 955P-12 

Smc CD85N25-80C-A 

Le Pivert DP 140 

MP Filtri VUOTOSTATOE1 

Norgren RA/8050/M/40 

Norgren RA/8080/M/30 

SMC C82SDB25-100 









Festo QST-B-4-20

Norgren PA0014030C-30MTR 

Norgren 240200800 

Festo CRHNC-40 176938 

SMC CDQ2D20-10DC 

SMC AMC-310 

Univer K200-63-150 

SMC CDQ2B32-20D 

SMC CDQ2B32-10D-X203 

推荐产品

交谈

店铺

0 评

留言询价