|
公司基本資料信息
|
如何編寫(xiě)完美的PLC程序
?PLC程序最好的評(píng)價(jià)標(biāo)準(zhǔn)是實(shí)踐??闯绦蚰芊襁_(dá)到預(yù)期的目的。但這還不夠。因?yàn)槟苓_(dá)到目的的程序還有好與不好之分。到底什么樣的程序才算好的程序呢?大體有如下幾個(gè)方面:
1、簡(jiǎn)短性
? ? 使PLC程序盡可能簡(jiǎn)短,也是應(yīng)追求的目標(biāo)。
? ? 簡(jiǎn)短的程序可以節(jié)省用戶存儲(chǔ)區(qū);多數(shù)情況下也可節(jié)省執(zhí)行時(shí)間,提高對(duì)輸入的響應(yīng)速度,還可提高程序的可讀性。
程序是否簡(jiǎn)短,一般可用程序所用的指令條數(shù)衡量,用的條數(shù)少,程序自然就簡(jiǎn)短。
? ? 要想程序簡(jiǎn)短,從大的方面講,要優(yōu)化程序結(jié)構(gòu),用流程控制指令簡(jiǎn)化程序,從小的方面講還要用功能強(qiáng)的指令取代功能單一的指令,以及注意指令的安排順序等。
2、省時(shí)性
? ? 程序簡(jiǎn)短可以節(jié)省程序運(yùn)行時(shí)間,但簡(jiǎn)短與省時(shí)并不完全是一回事。因?yàn)檫\(yùn)行程序時(shí)間雖與程序所擁有指令條數(shù)有關(guān),而且還與所使用的是什么指令有關(guān)。PLC指令不同,執(zhí)行的時(shí)間也不同。而且,有的指令,在邏輯條件ON時(shí)執(zhí)行與在OFF時(shí)執(zhí)行其時(shí)間也不同。另外,由于使用了流程控制指令,在程序中,不是所有指令都要執(zhí)行等。所以,運(yùn)行程序的時(shí)間計(jì)算是較復(fù)雜的。但要求其平均時(shí)間少,最大時(shí)間也不太長(zhǎng)是必要的。這樣可提高PLC的響應(yīng)速度。
? ? 省時(shí)的關(guān)鍵是用好流程控制指令。按情況確定一些必須執(zhí)行的指令,作必備部分,其余的可依程序進(jìn)行,有選擇地執(zhí)行,或作些分時(shí)工作的設(shè)計(jì),避免最大時(shí)間太長(zhǎng)等。
3、可讀性
? ? 要求所設(shè)計(jì)的程序可讀性要好。這不僅便于程序設(shè)計(jì)者加深對(duì)程序的理解,便地調(diào)試,而且,還要便于別人讀懂你的程序,便于使用者維護(hù)。必要時(shí),也可使程序推廣。
? ? 要使程序可讀性好,所設(shè)計(jì)的程序就要盡可能清晰。要注意層次,實(shí)現(xiàn)模塊化,以至于用面向?qū)ο蟮姆椒ㄟM(jìn)行設(shè)計(jì)。要多用一些標(biāo)準(zhǔn)的設(shè)計(jì)。
? ? 再就是I/O分配要有規(guī)律性,便于記憶與理解。必要時(shí),還要做一些注釋工作。內(nèi)部器件的使用也要講規(guī)律性,不要隨便地拿來(lái)就用。
? ? 可讀性在程序設(shè)計(jì)開(kāi)始時(shí)就要注意。這不易完全做到。因?yàn)樵诔绦蛘{(diào)試的過(guò)程中,指令的增減,內(nèi)部器件的使用變化,可能使原較清晰的程序,變的有些亂。所以在設(shè)計(jì)時(shí)就對(duì)調(diào)試增減留有一定的余地,然后調(diào)試完畢后再做一下整理,這樣所設(shè)計(jì)的程序具有更高的質(zhì)量。
4、正確性
? ? PLC的程序一定要正確,并要經(jīng)過(guò)實(shí)際工作驗(yàn)證,證明其能夠正確工作。這是對(duì)PLC程序的最根本的要求,若這一點(diǎn)做不到,其它的再好也沒(méi)有用。
? ? 要使程序正確,一定要準(zhǔn)確的使用指令,正確的使用內(nèi)部器件。準(zhǔn)確的使用指令與準(zhǔn)確理解指令相聯(lián)系,為此對(duì)指令含義和使用條件一定要弄清楚。必要時(shí),可編些小程序?qū)σ恍┎磺宄闹噶钭餍y(cè)試。
? ? 同一指令,由于PLC的出廠批次不同或是PLC的系列型號(hào)的不同,一些指令細(xì)節(jié)有可能不一樣,應(yīng)仔細(xì)查閱編程手冊(cè)。
內(nèi)部器件正確使用也是重要的。如有的PLC有掉電保護(hù),有的PLC沒(méi)有。一定要做到該掉電保護(hù)的一定要用掉電保護(hù)的器件,反之則不能用。
? ? 總之,要準(zhǔn)確的使用指令,正確使用內(nèi)部器件,使所編的程序能正確要作,這是對(duì)PLC程序最根本的要求。
5、可靠性
? ? 程序不僅要正確,還要可靠??煽糠从持鳳LC程序的穩(wěn)定性,這也是對(duì)PLC程序的基本要求。
有的PLC程序,在正常的工作條件下或合法操作時(shí)能正確工作,而出現(xiàn)非正常工作條件(如臨時(shí)停電,又很快再通電)或進(jìn)行非法操作(如一些按鈕不按順序按,或同時(shí)按若干按鈕)后,程序就不能正常工作了。這種程序,就不大可靠,或說(shuō)不穩(wěn)定,就是不好的程序。
好的PLC程序?qū)Ψ钦9ぷ鳁l件出現(xiàn),能予以識(shí)別,并能使其與正常條件銜接,可使程序適應(yīng)于多種情況。好的PLC程序?qū)Ψ欠ú僮髂苡枰跃芙^,且不留下“痕跡”。只接受合法操作。
? ? 聯(lián)鎖是拒絕非法操作常用的手段,繼電電路常用這個(gè)方法,PLC也可繼承這個(gè)方法。
6、易改性
? ? 要使程序易改,也就是要便于修改。
? ? PLC的特點(diǎn)之一就是方便,可靈活地適用于各種情況。其辦法就是靠修改或重新設(shè)計(jì)程序。
? ? 重新設(shè)計(jì)程序用于改變PLC工藝的用途要求的情況,不僅程序重編,而且I/O也要重新分配。多數(shù)情況下不需要重編程序,作一些修改就可以了。這就要求程序具有易性,便于修改。
? ? 易改也就是彈性,要求只要作很少的改動(dòng),即可達(dá)到改變參數(shù)或理改動(dòng)作的目的。
? ? 在設(shè)計(jì)PLC程序的過(guò)程中,能夠滿足以上6方面的要求的就能稱(chēng)的上是一個(gè)好程序了。
Fanuc Model 10 DC Servo Motor, A06B-0601-B232-?R, Used, ...
GE Fanuc #20S, AC Servo Motor # A06B-0502-B002 #7008, U...
Fanuc Mother Board, A20B-0008-0410 / 05D,?
GE Fanuc #10 AC Servo Motor, # A06B-0501-B756, Used, W...
Fanuc PC Board, A20B-1000-0570 / 04B, Used, WARRANTY
Fanuc #30S AC Servo Motor, # A06B-0319-B001
GE Fanuc AC Servo Motor, # A06B-0521-B541, Used, WARRAN...
GE Fanuc Color QuickPanel View IC754VSI06STD-F?F, USED, ...
Fanuc Power Supply Board, A20B-0003-0630 / 02A, Used, W...
Fanuc AC Servo Motor, A06B-0147-B675, W/ A860-0360-V501.?..
Fanuc AC Servo Motor, A06B-0147-B675, W/ A860-0360-T201.?..
DGD Gardner Denver Operator Interface Module, # S 11247...
Fanuc Power Supply Board, A20B-0003-0630 / 05A, Used, W...
GE Fanuc #20, AC Servo Motor # A06B-0502-B001, Used, W...
GE Transformer, # A80L-0001-0273, WARRANTY
Fanuc A20B-2100-0120 / 01A Sub1 Profibus Board w/ A20B-...
Fanuc Power Input Unit, # A14B-0061-B110-?01, USED, WARR...
Fanuc Power Supply Board, A20B-0003-0630 / 07A, Used, W...
Fanuc PC Readout Display Board, # A20B-0003-0210/?03A, U...
Fanuc A20B-0003-0210 / 04B PC Readout Dispay Board, Use...
Fanuc AC Servo Motor, Mod # 10, # A06B-0501-B204-?R, Use...
Fanuc Amplifier, A02B-0118-B002, W/A16B-2200-049?0/07D, ...
Fanuc Amplifier, A02B-0118-B002, W/A16B-2200-049?0/07D, ...
Fanuc Amplifier, A02B-0118-B002, W/A16B-2200-049?0/08D, ...
Fanuc PC Board A16B-0160-0540 / 32J, Used, WARRANTY
Fanuc Servo Amplifier Unit, # A06B-6058-H334, Used, NOT...
Fanuc A20B-0005-0690 / 08F PC Board, Used, WARRANTY
Fanuc Mazak M4 MDI/CRT Unit, A61L-0001-0072, A860-0200-...
GE Fanuc AC Servo Motor, #A06B-0147-B675?, Warranty
General Electric GE Reversing Conductor, CR7CG, USED, W...
Fanuc 2.5 KVA Transformer, # A80L-0001-0272, USED, WA...
Fanuc 2.5 KVA Transformer, # A80L-0001-0272-?03, Used, ...
FANUC PC Board, A20B-0009-0460 06A, USED, WARRANTY
Fanuc 1.5 KVA Transformer, # A80L-0001-0453, Used, War...
Hardinge CHNC4, Fanuc Option Unit, A02B-0050-C553, USED...
Fanuc IO Board, A20B-1000-0940-?04B, USED, WARRANTY
Fanuc MDI/CRT Display Unit, A02B-0051-C032, 9" DISPLAY ...
Fanuc Operator's Panel, Option Panel, # A13B-0042-C570,?...
Fanuc Model 10 DC Servo Motor, Encoder # A860-0300-T001.?..
Fanuc A20B-0005-0700 / 04C PC Board, Used, WARRANTY
Fanuc A20B-0007-0270 / 01A, PC Board, Used, WARRANTY
Fanuc CRT Operator Interface Module 10M, # A02B-0073-C1...
Fanuc Operator's Panel, Magnet Unit, A13B-0042-C424, A8...
FANUC PC Board, A20B-8001-0121 / 04B, Used, WARRANTY
Fanuc Amplifier, A02B-0118-B002, W/A16B-2200-049?0/07D, ...
Fanuc PC Control Board, # A20B-0008-0470 / 03B, USED, W...
GE Fanuc AC Servo Motor, # A06B-0501-B755, Used, WARRAN...
Fanuc PC Board, A20B-1000-0950 / 05A, USED, WARRANTY
G E 1/3HP Adj Speed Motor w/ Right Angle Gearbox & Cont
Fanuc PC Board A16B-0160-047, Used, WARRANTY
Fanuc Transformer 5 KVA A80L-0001-0274-?03 A80L00010274...
Fanuc 2.5 KVA Transformer, # A80L-0001-0089 - 05, USED,...
GE Fanuc PC Board, # A16B-2300-0020/?03B, USED, WARRANTY
FANUC PC Board, A16B-1110-0280 / 01A, Off of Fanuc 16-W...
Fanuc PC Board, A20B-0006-0160 / 03C, Used, WARRANTY
GE Fanuc # 8F AC Servo Motor, # A06B-0348-B357, Used, W...
Fanuc A20B-0005-0730 / 03B Display Keyboard, Used, WARR...
Fanuc Power Supply # A16B-1210-0560, Used, WARRANTY
Fanuc Terminal Unit A02B-0051-C611, W/ Board A20B-0008-...
Tatung Display Monitor, VT14728N4, Used, Warranty
GE Fanuc AC Servo Motor, # A06B-0502-B755, Used, WARRAN...
Fanuc Power Input Unit, #A14B-0070-B104?-01, USED, WARRA...
Fanuc ACP Controller PC Board, # A16B-1210-0410/?03A, Us...
Fanuc PC Control Board, # A20B-0008-0460 / 01A, Used, ...
Fanuc PC Board A16B-0190-0010, Used, WARRANTY
Fanuc AC Servo Amplifier Unit, A06B-6066-H233 A2, C Ser...
G E Adj Speed Motor 1/2HP w/ Tigear Speed Reducer, 5BPB...
Fanuc PC Board A16B-0190-0080 / 03B, Used, WARRANTY
Fanuc Control Interface Board A20B-0002-094, Used, WAR...
Fanuc Bubble Memory Board, # A16B-1211-0091/?06C, WARRAN...
Victor Data Systems 9" Monitor, ME-961EZ, 12 VDC, 0.8 A...
Fanuc PC Board A20B-0008-0240 / 02-06C, Used, WARRANTY
Fanuc Pertronics LTD 5 KVA Transformer, A80L-0001-0083-?...
Fanuc AC Servo Motor, Model 20F/2000, # A06B-0356-B755,?...
Fanuc A05B-2350-C100 Mod B I/O Interface Module, USED, ...
Fujitsu Fanuc A06B-6035-H315 H316 Velocity Control Unit...
Fanuc PC Board A16B-0190-006, Used, WARRANTY
Fanuc PC Expansion Board, # A20B-1001-0731/?02A, Used, ...
Fanuc Velocity Control Unit, # A20B-0004-0171 / 04C, Us...
Fanuc PC Expansion Board, # A20B-1001-0731/?03A, Used, ...
Fanuc/ Kowa Denko Robotic Cable, H-A21352, RMP, 4004-T8...
GE/Fanuc Positioning Module, A03B-0801-C051, PT01A, Use...
Fanuc Keyboard Unit, O-M, # A02B-0089-C133, Used, WARR...
Fanuc Power Input Unit, # A14B-0061-B101 02, A14B0061B1...
Fanuc PC Control Board, # A16B-1200-0220 / 03B, Used, W...
GE Fanuc Board A16B-2300-0020/?02B, A16B-2300-0020, Used...
Fanuc 3 AXIS Readout Display, A20B-0005-0780, A02B-0041...
FANUC 2 Slot Rack, A05B-2316-C107 w/ Base Board A20B-20...
Fanuc Power Input Unit, # A14B-0076-B104 01,?
Fanuc Power Mate H Board, # A20B-2100-0021/?07G, Used, W...
Fanuc/Light Engineering Transformer, # A80L-0001-0074#?E...
GE/Fanuc Output Module, A03B-0801-C113, OD64B, Used, WA...
Fujitsu Fanuc A06B-6035-H315 H316 Velocity Control Unit...
Fanuc PCB 10M/T Board Unit, # A16B-1210-0350, WARRANTY
General Electric PC Board, # 44A712776-001, 44A297067-G...
Fanuc PC Board, A20B-1000-0950 / 02A, USED, WARRANTY
Fanuc Pulse Coder Unit, 2000 p/r, # A860-0304-T011, Use...
Fanuc PC Board, # A20B-0009-0470/?02A, USED, WARRANTY
Fanuc Operator Panel for Built In CRT, # C49705011, USE...
Fanuc PC 1/2 Axis Board, A16B-1212-0501/?01, Used, WAR...
Fanuc Model 5 DC Servo Motor, Encoder# A860-0300-T001, ...
Fanuc 0.6 KVA Transformer, A80L-0010-0018-?01, USED, WAR...
Fanuc IC File (ECC) PC Board, A16B-2203-0240 / 02A, Use...
FANUC PC Daughter Board, A20B-2900-0430/?04C, USED, WARR...
Fanuc AC Servo Motor, Model# 2-0, A06B-0521-B001, Used,...
FANUC PC Daughter Board, A20B-2900-0500/?04B, USED, WARR...
General Electric 0D321B Circuit Board, 44A294511-G02, U...
General Electric 44A294502-G01 Circuit Board, USED, WAR...
General Electric 44A294507-G02 DIF 2, Circuit Board, US...
General Electric 44A297005-G01 Circuit Board, SMI4A, US...
Fanuc Robot Main CPU Board, # A16B-2200-0842/?08F, USED,...
Fanuc Tape Reader PC Board A20B-0003-0880 / 02B, Used, ...
NEW General Electric Operating Magnetic Coil, 55-750325...
NEW GE FANUC IC600-BF830L IC600BF830L I/O Receiver Modu...
G E 1/3 HP Adj Speed DC Motor, # 5BPB56KAA102, W/ Gear ...
Reliance 1/3 HP DC Motor, Type TPR, W/ Gear Reduction &...
Fanuc 2.57+0.02 KVA Transformer, # A80L-0001-0142-?02