基于多線程技術(shù)的PLC與PC的通訊方式
0.引言
在現(xiàn)代工業(yè)控制系統(tǒng)中,PLC以其高可靠性、適應(yīng)工業(yè)過程現(xiàn)場、強(qiáng)大的聯(lián)網(wǎng)功能等特點(diǎn),被廣泛應(yīng)用??蓪?shí)現(xiàn)順序控制、PID回路調(diào)節(jié)、高速數(shù)據(jù)采集分析、計(jì)算機(jī)上位管理,是實(shí)現(xiàn)機(jī)電一體化的重要手段和發(fā)展方向。但PLC無法單獨(dú)構(gòu)成完整的控制系統(tǒng),無法進(jìn)行復(fù)雜的運(yùn)算和顯示各種實(shí)時控制圖表和曲線,無良好的用戶界面,不便于監(jiān)控。將個人計(jì)算機(jī)(PC)與PLC結(jié)合起來使用,可以使二者優(yōu)勢互補(bǔ),充分利用個人計(jì)算機(jī)強(qiáng)大的人機(jī)接口功能、豐富的應(yīng)用軟件和低廉的價格優(yōu)勢,組成高性能價格比的控制系統(tǒng)。
1.系統(tǒng)構(gòu)成
推進(jìn)系統(tǒng)中,PC機(jī)選用工控計(jì)算機(jī)。它是整個控制系統(tǒng)的核心,是上位機(jī)。其主要利用良好的圖形用戶界面,顯示從PLC接收的開關(guān)量和控制手柄的位置,進(jìn)行一些較復(fù)雜的數(shù)據(jù)運(yùn)算,并且向PLC發(fā)出控制指令。
PLC是該系統(tǒng)的下位機(jī),負(fù)責(zé)現(xiàn)場高速數(shù)據(jù)采集(控制手柄的位置),實(shí)現(xiàn)邏輯、定時、計(jì)數(shù)、PID調(diào)節(jié)等功能,通過串行通訊口向PC機(jī)傳送PLC工作狀態(tài)及有關(guān)數(shù)據(jù),同時從PC機(jī)接受指令,向蜂鳴器、指示燈、滑油泵、控制手柄的位置等發(fā)出命令,實(shí)現(xiàn)PC機(jī)對控制系統(tǒng)的管理,提高了PLC的控制能力和控制范圍,使整個系統(tǒng)成為集散控制系統(tǒng)。
2.通訊協(xié)議
計(jì)算機(jī)與PLC之間的通信是建立在以RS232標(biāo)準(zhǔn)為基礎(chǔ)的異步雙向通信上的,F(xiàn)X系列PLC有其特定的通信格式,整個通信系統(tǒng)采用上位機(jī)主動的通信方式,PLC內(nèi)部不需要編寫專門的通信程序,只要把數(shù)據(jù)存放在相應(yīng)的數(shù)據(jù)寄存器中即可,每個數(shù)據(jù)寄存器都有相應(yīng)的物理通信地址,通信時計(jì)算機(jī)直接對物理通信地址進(jìn)行操作。通信過程中,傳輸字符和命令字以ASCⅡ碼為準(zhǔn),常用的字符及其ASCⅡ碼對應(yīng)關(guān)系。
計(jì)算機(jī)與PLC進(jìn)行通訊時,計(jì)算機(jī)與PLC之間是以幀為單位進(jìn)行信息交換的,其中控制字符ENQ、ACK、NAK,可以構(gòu)成單字符幀發(fā)送和接受,其余的信息幀發(fā)送和接受時都是由字符STX、命令字、數(shù)據(jù)、字符ETX以及和校驗(yàn)5部分組成。
校驗(yàn)和在信息幀的尾部用來判斷傳輸?shù)恼_與否,和校驗(yàn)碼的計(jì)算方法是將命令碼到ETX之間的所有字符的ASCⅡ碼(十六進(jìn)制數(shù))相加,取所得和的最低2位數(shù),在后面的通信程序設(shè)計(jì)里面還會提到。進(jìn)行差錯檢驗(yàn)的方法很多,常用的有奇偶校驗(yàn)碼,水平垂直冗余校驗(yàn)LRC,目前廣泛使用的是CRC校驗(yàn)碼,它能查處99%以上18位或更長的突出錯誤,而在計(jì)算機(jī)與PLC點(diǎn)對點(diǎn)的短距離通訊時,出錯的幾率較小,因而采用校驗(yàn)和法,基本能滿足要求。
3.多線程技術(shù)及在VC++串口通信程序中的實(shí)現(xiàn)
在Windows的一個進(jìn)程內(nèi),包含一個或多個線程,每個線程共享所有的進(jìn)程資源,包括打開的文件、信號標(biāo)識及動態(tài)分配的內(nèi)存等等。
一個進(jìn)程內(nèi)的所有線程使用同一個32位地址空間,而這些線程的執(zhí)行由系統(tǒng)調(diào)度程序控制,調(diào)度程序決定哪個線程可執(zhí)行和什么時候執(zhí)行線程。線程有優(yōu)先級別,優(yōu)先權(quán)較低的線程必須等到優(yōu)先權(quán)較高的線程執(zhí)行完任務(wù)后再執(zhí)行。在多處理器的機(jī)器上,調(diào)度程序可以把多個線程放到不同的處理器上運(yùn)行,這樣可以使處理器的任務(wù)平衡,也提高系統(tǒng)的運(yùn)行效率。
Windows內(nèi)部的搶先調(diào)度程序在活動的線程之間分配CPU時間,Windows區(qū)分兩種不同類型的線程,一種是用戶界面線程(UserInterfaceThread),它包含消息循環(huán)或消息泵,用于處理接收到的消息;另一種是工作線程(WorkThread)它沒有消息循環(huán),用于執(zhí)行后臺任務(wù)、監(jiān)視串口事件的線程即為工作線程。
←獨(dú)家(獨(dú)特)價格 走進(jìn)質(zhì)量天地,帶來無限商機(jī)◆◆
←←鴻飛達(dá)自動化產(chǎn)品質(zhì)量(卓越)帶給您看得見的成果,
說不盡的精彩!敬候您來電??!
^ō^)溫馨提示:以上填寫價格均為系統(tǒng)默認(rèn)填入,不做任何參考價格面議,致電來詢你會發(fā)現(xiàn)更多優(yōu)惠等著您!
配送至全國各地默認(rèn)發(fā)貨為順豐速運(yùn),時間一般1-3天 如需發(fā)其他快遞請?zhí)崆芭c我聯(lián)系。
【服務(wù)說明】現(xiàn)貨配送至全國各地含稅含運(yùn)費(fèi)
【產(chǎn)品質(zhì)量】全新原裝正品,7天驗(yàn)貨,一年保修
【產(chǎn)品優(yōu)勢】專業(yè)銷售 薄利多銷 十年信譽(yù)好,價格低,貨期短,品質(zhì)高。
西門子系列:S5,6SN,6FC等進(jìn)口直銷,
ABPLC:數(shù)字類系列長期庫存現(xiàn)貨,
發(fā)那科:驅(qū)動 電源 板卡
ABB機(jī)器人 貝利
施耐德140,TSX系列
歡迎您的詢問:
★聯(lián)系人:小陳 ★手機(jī):18005007289 【微信與手機(jī)同號】
★電話:0591-87722515
★傳真:0591-88263940 (備注收件人)
★QQ:2851617310
★郵箱:2851617310@qq.com
直線伺服電機(jī)用伺服驅(qū)動器SGDV-3R5D25B020000
直線伺服電機(jī)用伺服驅(qū)動器SGDV-3R5D25B
用途最佳型伺服單元SGDV-3R5D25A020FT006
用途最佳型伺服單元SGDV-3R5D25A020FT003
高性能型伺服驅(qū)動器SGDV-3R5D25A020EX002
SGDV3R5D25A020000010
安全模塊伺服單元SGDV3R5D25A020000010
安全模塊伺服單元SGDV3R5D25A020000010
直線伺服電機(jī)用伺服驅(qū)動器SGDV-3R5D25A020000
用途最佳型伺服單元SGDV-3R5D25A002FT006
SGDV-3R5D25A002FT003
高性能型伺服驅(qū)動器SGDV-3R5D25A002EX001
SGDV3R5D25A002000010
直線伺服電機(jī)用伺服驅(qū)動器SGDV-3R5D25A002000
用途最佳型伺服單元SGDV-3R5D25A000FT006
SGDV-3R5D25A000EX002
SGDV-3R5D25A000EX001
安全模塊伺服單元SGDV3R5D25A000000010
SGDV-3R5D25A
伺服驅(qū)動器 SGDV-3R5D21B0200
SGDV-3R5D21A002EX001
安全模塊伺服單元SGDV3R5D21A002000010
電機(jī);MSK071E-0450-NN-M1-UG1-NNNN/U軸;REXROTH
伺服驅(qū)動器 ;HMS01.1N-W0070-A-07-NNNN;Rexroth
伺服電機(jī) MSK101D-0200-NN-M1-RG2-NNNN;Rexroth
PFEA111-20
16點(diǎn)輸出模塊 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
軸計(jì)算機(jī)板3HAC029157-001
計(jì)算機(jī)主板3HAC042766-001
三檔鑰匙開關(guān)3HAC052287-004
總線卡3HAC043383-001
驅(qū)動模塊3HAC029818-001
電源分配板3HAC026254-001
安全板3HAC024488-001
接觸器板3HAC13389-2 1
通訊板 3HAC026840-001
I/O通訊板 3HAC025917-001
串口測量板3HAC043904-001
軸承馬達(dá)(6軸電機(jī) 3HAC061315-003
一軸減速機(jī)3HAC043071-003
二軸減速機(jī)3HAC043072-003
三軸減速機(jī)3HAC043073-003
手腕3HAC043566-003
六軸減速機(jī)3HAC043074-003
電池3HAC044075-001
伺服驅(qū)動器 SGDV-3R5D21A0020
SGDV-3R5D21A000FT006
SGDV-3R5D21A000FT005
SGDV-3R5D21A000FT003
用途最佳型伺服單元SGDV-3R5D21A000FT003
SGDV-3R5D21A000EX002
安全模塊伺服單元SGDV3R5D21A000000010
全閉環(huán)模塊伺服系統(tǒng)SGDV3R5D21A000000001
伺服驅(qū)動器 SGDV-3R5D21A
直線伺服電機(jī)用伺服驅(qū)動器SGDV-3R5D15B020000
高性能型伺服驅(qū)動器SGDV-3R5D21A002EX002
高性能型伺服驅(qū)動器SGDV-3R5D21A002EX001
安全模塊伺服單元SGDV3R5D21A002000010
全閉環(huán)模塊伺服系統(tǒng)SGDV3R5D21A002000001
伺服驅(qū)動器MECHATROLINK-Ⅲ通信指令型SGDV-3R5D21A0020
用途最佳型伺服單元SGDV-3R5D21A000FT006
用途最佳型伺服單元SGDV-3R5D21A000FT005
用途最佳型伺服單元SGDV-3R5D21A000FT003
用途最佳型伺服單元SGDV-3R5D21A000FT001
高性能型伺服驅(qū)動器SGDV-3R5D21A000EX002
安全模塊伺服單元SGDV3R5D21A000000010
全閉環(huán)模塊伺服系統(tǒng)SGDV3R5D21A000000001高性能型伺服驅(qū)動器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
光電轉(zhuǎn)換模塊型號1786-RPA(B)
光電轉(zhuǎn)換模塊型號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(待確認(rèn)) 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 機(jī)器人6軸電機(jī) 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 機(jī)器人驅(qū)動器
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型圈(用于空氣馬達(dá))_3HSD-0000030010
O型圈(用于空氣馬達(dá))_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