基于多线程技术的PLC与PC的通讯方式
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)它没有消息循环,用于执行后台任务、监视串口事件的线程即为工作线程。
←独家(独特)价格 走进质量天地,带来无限商机◆◆
←←鸿飞达自动化产品质量(卓越)带给您看得见的成果,
说不尽的精彩!敬候您来电!!
^ō^)温馨提示:以上填写价格均为系统默认填入,不做任何参考价格面议,致电来询你会发现更多优惠等着您!
配送至全国各地默认发货为顺丰速运,时间一般1-3天 如需发其他快递请提前与我联系。
【服务说明】现货配送至全国各地含税含运费
【产品质量】全新原装正品,7天验货,一年保修
【产品优势】专业销售 薄利多销 十年信誉好,价格低,货期短,品质高。
西门子系列:S5,6SN,6FC等进口直销,
ABPLC:数字类系列长期库存现货,
发那科:驱动 电源 板卡
ABB机器人 贝利
施耐德140,TSX系列
欢迎您的询问:
★联系人:小陈 ★手机:18005007289 【微信与手机同号】
★电话:0591-87722515
★传真:0591-88263940 (备注收件人)
★QQ:2851617310
★邮箱:2851617310@qq.com
伺服驱动器模拟量电压 SGDV-3R8A01A002000
用途最佳型伺服单元SGDV-3R8A01A000FT008
用途最佳型伺服单元SGDV-3R8A01A000FT001
高性能型伺服驱动器SGDV-3R8A01A000EX002
安全模块伺服单元SGDV3R8A01A000000010
全闭环模块伺服系统SGDV3R8A01A000000001
SGDV3R5DE5A02000060
伺服驱动器 SGDV-3R8A01A
装备DeviceNet通信功能型伺服驱动器SGDV3R5DE5A02000060
装备DeviceNet通信功能型伺服驱动器SGDV3R5DE5A02000060
装备INDEXER功能型伺服驱动器SGDV3R5DE5A020000101
装备INDEXER功能型伺服驱动器SGDV3R5DE5A020000100
装备DeviceNet通信功能型伺服驱动器SGDV3R5DE5A00200060
装备DeviceNet通信功能型伺服驱动器SGDV3R5DE5A00200060
装备DeviceNet通信功能型伺服驱动器SGDV3R5DE5A00200050
全装备DeviceNet通信功能型伺服驱动器SGDV3R5DE5A0020005
通信功能型伺服驱动器SGDV3R5DE1A00000060
全闭环模块伺服系统SGDV3R5DE1A002000001
SGDV3R5DE1A00000060
SGDV3R5DE1A00000050
装备INDEXER功能型伺服驱动器SGDV3R5DE1A000000101
装备INDEXER功能型伺服驱动器SGDV3R5DE1A000000100
全闭环模块伺服系统SGDV3R5DE1A000000001
直线伺服电机用伺服驱动器SGDV-3R5D25B020000
直线伺服电机用伺服驱动器SGDV-3R5D25B
用途最佳型伺服单元SGDV-3R5D25A020FT006
用途最佳型伺服单元SGDV-3R5D25A020FT003
高性能型伺服驱动器SGDV-3R5D25A020EX002
SGDV3R5D25A020000010
安全模块伺服单元SGDV3R5D25A020000010
安全模块伺服单元SGDV3R5D25A020000010
直线伺服电机用伺服驱动器SGDV-3R5D25A020000
用途最佳型伺服单元SGDV-3R5D25A002FT006
SGDV-3R5D25A002FT003
高性能型伺服驱动器SGDV-3R5D25A002EX001
SGDV3R5D25A002000010
直线伺服电机用伺服驱动器SGDV-3R5D25A002000
用途最佳型伺服单元SGDV-3R5D25A000FT006
SGDV-3R5D25A000EX002
SGDV-3R5D25A000EX001
安全模块伺服单元SGDV3R5D25A000000010
SGDV-3R5D25A
伺服驱动器 SGDV-3R5D21B0200
SGDV-3R5D21A002EX001
安全模块伺服单元SGDV3R5D21A002000010
电机;MSK071E-0450-NN-M1-UG1-NNNN/U轴;REXROTH
伺服驱动器 ;HMS01.1N-W0070-A-07-NNNN;Rexroth
伺服电机 MSK101D-0200-NN-M1-RG2-NNNN;Rexroth
PFEA111-20
16点输出模块 1756-OB16I AB
基板电源 1756-PA75 AB
20针 端子排 1756-TBNH AB
可拆卸式端子块 1756-TBCH/36个螺丝夹
PFEA111-20 张力控制器 abb
A860-2010-T341
A860-2060-T321
2MLA-DC8A-CC
51199929-100
中央处理单元(CPU)模块TSX3722001
3HAC032586-001
3HAC021084-004
主接触器3HAC039833-001
泄流电阻3HAC032586-001
储能电容3HAC025562-001
轴计算机板3HAC029157-001
计算机主板3HAC042766-001
三档钥匙开关3HAC052287-004
总线卡3HAC043383-001
驱动模块3HAC029818-001
电源分配板3HAC026254-001
安全板3HAC024488-001
接触器板3HAC13389-2 1
通讯板 3HAC026840-001
I/O通讯板 3HAC025917-001
串口测量板3HAC043904-001
轴承马达(6轴电机 3HAC061315-003
一轴减速机3HAC043071-003
二轴减速机3HAC043072-003
三轴减速机3HAC043073-003
手腕3HAC043566-003
六轴减速机3HAC043074-003
电池3HAC044075-001
伺服驱动器 SGDV-3R5D21A0020
SGDV-3R5D21A000FT006
SGDV-3R5D21A000FT005
SGDV-3R5D21A000FT003
用途最佳型伺服单元SGDV-3R5D21A000FT003
SGDV-3R5D21A000EX002
安全模块伺服单元SGDV3R5D21A000000010
全闭环模块伺服系统SGDV3R5D21A000000001
伺服驱动器 SGDV-3R5D21A
直线伺服电机用伺服驱动器SGDV-3R5D15B020000
高性能型伺服驱动器SGDV-3R5D21A002EX002
高性能型伺服驱动器SGDV-3R5D21A002EX001
安全模块伺服单元SGDV3R5D21A002000010
全闭环模块伺服系统SGDV3R5D21A002000001
伺服驱动器MECHATROLINK-Ⅲ通信指令型SGDV-3R5D21A0020
用途最佳型伺服单元SGDV-3R5D21A000FT006
用途最佳型伺服单元SGDV-3R5D21A000FT005
用途最佳型伺服单元SGDV-3R5D21A000FT003
用途最佳型伺服单元SGDV-3R5D21A000FT001
高性能型伺服驱动器SGDV-3R5D21A000EX002
安全模块伺服单元SGDV3R5D21A000000010
全闭环模块伺服系统SGDV3R5D21A000000001高性能型伺服驱动器SGDV-3R5D21A000EX001
HMT310 3A5A1BCK14BBDA1B2
HMP110C15A0C3BO
HMT3307U0B121XCAN100A0ACCBAA1
HMT120KA0A1F12A1A0Z HMT330 8V0B101BCDH163B0ACNBAA1 HUMICAP 180RC DMT143 L1C1A1A310ASX DMT242SC2
HMD82-20-80 -20-80℃=4-20MA
HMT330350B141CHAD100A0ACCBAA1
HMP60 C12A0A3B0
HMP155 A2GB 11A0 A0A1 A0A LTB111-230SP CL31
6389WA
WHP151
DTR503A
7150WA
DXL421
CLB311-230SP LT31
LM21 LTSP
HMP155 E1AA 11A0 A2A1 A0A
MOXA16
LMP155
HMT3307S0C001DBAA100A2FCKBAA1
WAV151
QML201C
WAA151
PWD20(B1NNNNNANENNAN)
WMT703(3B2A0A003A1A4)
HMT120KA1A1A1E12A1A0Z
DMT143
HMW82
HMD40Y
HMT120
HMT3303E0B001BCAB100A0AAAVAA1 HMT3603D22HCD1A2V15A1B HMT335L0B101AJ160A01AABCA1
电源模块 型号1756-PA72/B
光电转换模块型号1786-RPA(B)
光电转换模块型号1786-RPFM(A)
三十二通道输出模块型号1756-OB32
ABB卡件83SR04
HCS02.1E-W0012-A-03-NNNN
MHD115C-058-PP0-AA
MHD115C-024-PP0-AA
R911283091SCS-A02.1A-FW
R911286862 fwa-sercan-ser-05vrs-ms-flash
BGR DKCO2.3 LK SCK02(276720)
R911310772(待确认) fwa-serc*2-scm-01vrs (v14)-do
R911305276 CSB01.1N-SE-ENS-NNN-NN-S-NN-FW
R911307914 FWA-INDRV*-MPB-03VRS-D5-1-NNN-NN
R911305500 CSB01.1C-SE-ENS-EN2-NN-S-NN-FW
R911307914 FWA-INDRV*-MPB-03VRS-D5-1-NNN-NN
ABB 机器人6轴电机 3HAC17484-3/04
JAPMC-CM2300-E模块 (218IF-01) 安川
TM238LFDC24DT
AB变频器控制面板:2711-M3A18L1、24VDC 2.5W,带显示的按键面板
UGTMEM-03LB27S
UGTMEM-03LB27S
MAD160B-0200-SA-S0-RG0-35-N3
SCON-C-200A-CC-0-2 IAI 机器人驱动器
3BSE042236R1
TWDLCAA40DRF
SGDM-30ADA
3HAC12815-1
SGDM-30ADA
sps5710霍尼韦尔电源
DSQC697 3HAC037084-001
3HAC025917-001
3HAC025562-001
3HAC12928-1
3HNA016493-001
施耐德 140DAI75300
3HSD-0000030025
3HSD-0000030027
西门子 NCU控制板 NCU/720.2(SL)6FC5372-0AA00-0AA2
安川示教器盒控制线X82 CBL-YRC061-1
(KOLLMORGEN)6SM56-L 3000 81753
6DD1607-0CA1
施耐德 140CPU67160 CPU
施耐德 490N0R00003 热备光纤
施耐德 140CPS11420 电源模块
施耐德 140CRA93200 R10分站适配器
施耐德 140DAI75300
施耐德 140DAO85300
施耐德 140ACI04000
施耐德 140XTS00200
施耐德 140XBP01000
施耐德 MA0185100
施耐德 MA0329001
施耐德 520422000
施耐德 RG6同轴电缆
140CRA21110
塑料座_4C4556
O型圈(用于空气马达)_3HSD-0000030010
O型圈(用于空气马达)_3HSD-0000030022
O型圈(用于接头2)_ 3HSD-0000030007
O型圈(用于接头1)_3HSD-0000030009
O型圈_3HSD-0000030013
O型圈_3HSD-0000030033
O型圈_3HSD-0000030034
垫圈_4D7631
垫圈_4D4104
密封帽_4N4785
O型圈_3HSD-0000030008
O型圈_3HSD-0000030015
O型圈_3HSD-0000030027
密封圈_4N5290
O型圈_4N5452
O型圈_3HSD-0000030025
O型圈_3HSD-0000030026
O型圈_3HSD-0000030028
O型圈_3HSD-0000030030
O型圈_3HSD-0000030031
O型圈_3HSD-0000030071
O型圈_3HSD-0000030124
O型圈_3HSD-0000030014
瑞恩 62pmdf 0240tb68