產(chǎn)地類別 | 進(jìn)口 | 應(yīng)用領(lǐng)域 | 環(huán)保,化工,生物產(chǎn)業(yè),電子,電氣 |
---|
產(chǎn)品簡(jiǎn)介
詳細(xì)介紹
西門子專業(yè)技術(shù)團(tuán)隊(duì)PLC代理商|模塊授權(quán)代理商|提供技術(shù)支持:
西門子PLC占據(jù)了全球PLC市場(chǎng)的半壁江山,如今,又在系統(tǒng)集成架構(gòu)和網(wǎng)絡(luò)組態(tài)上發(fā)力,一輪新的搶占和瓜分市場(chǎng)的戰(zhàn)役已經(jīng)拉開序幕,并且愈演愈烈。作為工控行業(yè)PLC,對(duì)其進(jìn)行多角度全面了解非常有必要。我們一起來(lái)探討西門子PLC常見的20個(gè)問(wèn)題。
1. 使用定時(shí)器加自復(fù)位做一個(gè)不斷重復(fù)的計(jì)時(shí),調(diào)用其他功能或子程序時(shí),為何看起來(lái)工作不規(guī)律?
請(qǐng)注意《S7-200西門子PLC系統(tǒng)手冊(cè)》中,關(guān)于三種定時(shí)器刷新規(guī)律的描述。
按這種方法使用定時(shí)器時(shí),定時(shí)器的置位、復(fù)位可能與程序掃描周期不配合,存在造成上述問(wèn)題的機(jī)制。定時(shí)比較短的定時(shí)任務(wù)應(yīng)使用“定時(shí)中斷"功能,這樣更為可靠。
2. 編了一個(gè)利用定時(shí)器的程序,在編譯時(shí)已經(jīng)通過(guò),為何下載到CPU中時(shí)提示出錯(cuò)?
這種情況往往是調(diào)用的定時(shí)器號(hào)與定時(shí)器類型不配合造成的。參見幫助的表格,如T7只能用作TONR,而不能用于TON或TOF。
3. 定時(shí)中斷(SMB34/SMB35)最長(zhǎng)定時(shí)為255ms,如何實(shí)現(xiàn)更長(zhǎng)時(shí)間的定時(shí)?
可以采用T32/T96中斷,最長(zhǎng)時(shí)間可到32.767s。在定時(shí)中斷服務(wù)程序中對(duì)進(jìn)入中斷的次數(shù)進(jìn)行計(jì)數(shù),也能實(shí)現(xiàn)更長(zhǎng)時(shí)間的中斷延時(shí)。
4. 定時(shí)中斷個(gè)數(shù)不夠怎么辦?
每個(gè)定時(shí)中斷服務(wù)程序不一定只能處理一項(xiàng)定時(shí)任務(wù),可以把幾個(gè)任務(wù)放在一個(gè)定時(shí)中斷服務(wù)程序中。
對(duì)于定時(shí)間隔不同的任務(wù),可以計(jì)算出它們的定時(shí)長(zhǎng)度的最大公約數(shù),以此作為定時(shí)中斷的時(shí)間設(shè)置。在中斷服務(wù)程序內(nèi)部對(duì)中斷事件進(jìn)行計(jì)數(shù),據(jù)此編程別處理不同的任務(wù)。
5. 使用子程序時(shí),為何動(dòng)作只能執(zhí)行一次,或者某些狀態(tài)不能結(jié)束?
如果發(fā)生動(dòng)作不能重復(fù)執(zhí)行,或者狀態(tài)不能結(jié)束(像鎖死了一樣),而這些功能都與子程序有關(guān)時(shí),請(qǐng)檢查是否有條件調(diào)用子程序。調(diào)用子程序的條件在上述動(dòng)作執(zhí)行后,或者進(jìn)入某個(gè)狀態(tài)后不再有效,無(wú)法再次“激活",而脫離上述狀態(tài)或復(fù)位的指令正好在子程序內(nèi),必然造成上述的現(xiàn)象。
6、帶形式參數(shù)的子程序,定義為OUT類型的變量為何會(huì)在多次調(diào)用子程序時(shí)互相干擾?
那是因?yàn)槎x為OUT類型的形式參數(shù)又在子程序內(nèi)部參與了運(yùn)算。凡是此類參數(shù)都應(yīng)當(dāng)定義為IN_OUT類型。
7. 與中斷服務(wù)程序有關(guān)的計(jì)算任務(wù),為何會(huì)偶爾得出不正確的結(jié)果?
出現(xiàn)這種現(xiàn)象的原因多是在主(子)程序和中斷程序之間傳遞數(shù)據(jù)的機(jī)制不當(dāng)。
中斷程序可能在任何時(shí)刻執(zhí)行,如果此時(shí)主程序(或子程序)正在對(duì)中斷程序使用的數(shù)據(jù)進(jìn)行操作,其中間結(jié)果可能帶入中斷程序,造成計(jì)算結(jié)果的變化;同樣地,在中斷程序中產(chǎn)生數(shù)據(jù)也對(duì)主(子)程序中的計(jì)算有類似影響。
8. 中斷服務(wù)程序看起來(lái)沒(méi)有執(zhí)行?
可以在中斷程序中加一個(gè)測(cè)試程序段,如使用SM0.0(常為“1")將一個(gè)輸出點(diǎn)置位(使用Set指令),觀察是否進(jìn)入中斷服務(wù)程序。中斷程序不執(zhí)行,多數(shù)原因是初始化(連接中斷事件和中斷程序)的問(wèn)題,或者沒(méi)有“開中斷"。應(yīng)該使用SM0.1(或沿觸發(fā))執(zhí)行一次初始化,然后開中斷。
9. TP170、TP170micro與S7-200相連接如何做“時(shí)鐘同步"?
TP170默認(rèn)的時(shí)鐘格式與S7-200西門子PLC時(shí)鐘指令所讀取的時(shí)間日期格式有所區(qū)別,讀出的時(shí)鐘需要改變格式才能與TP170等做時(shí)鐘同步。在TP170的組態(tài)軟件ProTool的在線幫助中有相關(guān)的介紹。
10. 高速計(jì)數(shù)器怎樣占用輸入點(diǎn)?
高速計(jì)數(shù)器根據(jù)被定義的工作模式,按需要占用CPU上的數(shù)字量輸入點(diǎn)。每一個(gè)計(jì)數(shù)器都按其工作模式占用固定的輸入點(diǎn)。在某個(gè)模式下沒(méi)有用到的輸入點(diǎn),仍然可以用作普通輸入點(diǎn);被計(jì)數(shù)器占用的輸入點(diǎn)(如外部復(fù)位),在用戶程序中仍然訪問(wèn)到。
11. 為什么高速計(jì)數(shù)器不能正常工作?
在程序中要使用初次掃描存儲(chǔ)器位SM0.1來(lái)調(diào)用HDEF指令,而且只能調(diào)用一次。如果用SM0.0調(diào)用或者第二次執(zhí)行HDEF指令會(huì)引起運(yùn)行錯(cuò)誤,而且不能改變第一次執(zhí)行HDEF指令時(shí)對(duì)計(jì)數(shù)器的設(shè)定。
12. 對(duì)高速計(jì)數(shù)器如何尋址?為什么從SMDx中讀不出當(dāng)前的計(jì)數(shù)值?
可以直接用HC0;HC1;HC2;HC3;HC4;HC5對(duì)不同的高速計(jì)數(shù)器進(jìn)行尋址讀取當(dāng)前值,也可以在狀態(tài)表中輸入上述地址直接監(jiān)視高速計(jì)數(shù)器的當(dāng)前值。SMDx不存儲(chǔ)當(dāng)前值。高速計(jì)數(shù)器的計(jì)數(shù)值是一個(gè)32位的有符號(hào)整數(shù)。
13. 高速計(jì)數(shù)器如何復(fù)位到0?
選用帶外部復(fù)位模式的高速計(jì)數(shù)器,當(dāng)外部復(fù)位輸入點(diǎn)信號(hào)有效時(shí),高速計(jì)數(shù)器復(fù)位為0也可使用內(nèi)部程序復(fù)位,即將高速計(jì)數(shù)器設(shè)定為可更新初始值,并將初始值設(shè)為0,執(zhí)行HSC指令后,高數(shù)計(jì)數(shù)器即復(fù)位為0.
14. 高速計(jì)數(shù)器的值在復(fù)位后是復(fù)位到初始值還是“0"值?
外部復(fù)位會(huì)將當(dāng)前值復(fù)位到0值而不是初始值;內(nèi)部復(fù)位則將當(dāng)前值復(fù)位到初始值。如果你設(shè)定了可更新初始值,但在中斷中未給初始值特殊寄存器賦新值,則在執(zhí)行HSC指令后,它將按初始化時(shí)設(shè)定的初始值賦值。
15. 為何給高速計(jì)數(shù)器賦初始值和預(yù)置值時(shí)后不起作用,或效果出乎意料?
高速計(jì)數(shù)器可以在初始化或者運(yùn)行中更改設(shè)置,如初始值、預(yù)置值。其操作步驟應(yīng)當(dāng)是:
1)設(shè)置控制字節(jié)的更新選項(xiàng)。需要更新哪個(gè)設(shè)置數(shù)據(jù),就把控制字節(jié)中相應(yīng)的控制位置位(設(shè)置為“1");不需要改變的設(shè)置,相應(yīng)的控制位就不能設(shè)置。
2)然后將所需的值送入初始值和預(yù)置值控制寄存器。
3)執(zhí)行HSC指令。
16. 使用PTO/PWM發(fā)生器的功能應(yīng)使用什么類型的CPU?
應(yīng)使用24VDC晶體管輸出的CPU,繼電器輸出的絕對(duì)不行。
17. PTO或PWM輸出的幅值是多少?
PTO或PWM輸出的幅值為24V(高電平有效,共負(fù)端連接),若想實(shí)現(xiàn)輸出其他電壓的幅值,需自己加轉(zhuǎn)換器來(lái)實(shí)現(xiàn)。
18. 在PTO脈沖串執(zhí)行過(guò)程中,你能否通過(guò)PLS指令改變其周期值?
不行,必須終止PTO輸出后才能改變周期值。
19. 如何強(qiáng)制停止PTO或PWM輸出?
可以通過(guò)編程將控制字節(jié)中的使能位SM66.7或SM76.7清零,然后執(zhí)行PLS指令,便可立即停止PTO或PWM輸出。
20. 為何輸出信號(hào)的指示燈已亮,卻沒(méi)有良好的電壓波形輸出,或者有時(shí)丟脈沖?
PTO或PWM輸出負(fù)載最小不能低于額定負(fù)載的10%;即在輸出為高電平的狀態(tài)下,負(fù)載電流不低于140mA。
西門子plc總代理
公司在電氣技術(shù)應(yīng)用研究、設(shè)計(jì)、技術(shù)咨詢服務(wù)、設(shè)備不停產(chǎn)改造等方面積累了豐富的經(jīng)驗(yàn),對(duì)大型交(直)流傳動(dòng)系統(tǒng)、變頻節(jié)能系統(tǒng)、大型自動(dòng)化系統(tǒng)等擁有多年成熟的設(shè)計(jì)、供貨和調(diào)試經(jīng)驗(yàn),能為用戶提供系統(tǒng)*、性價(jià)比高的工業(yè)自動(dòng)化解決方案。公司憑借技術(shù)實(shí)力及經(jīng)營(yíng)、設(shè)計(jì)、制造實(shí)體的優(yōu)勢(shì),成為西門子華東區(qū)核心合作伙伴。經(jīng)過(guò)多年發(fā)展,公司和西門子公司的合作日趨深入和廣泛。公司業(yè)務(wù)遍及全國(guó)各個(gè)省市。同時(shí),公司在東南亞、南美洲、非洲等國(guó)家也承接了很多項(xiàng)目,均取得了圓滿的成功,得到國(guó)內(nèi)外顧客的廣泛好評(píng)。公司本著“以人為本、科技先導(dǎo)、顧客滿意、持續(xù)改進(jìn)"的工作方針,致力于工業(yè)自動(dòng)化控制領(lǐng)域的產(chǎn)品開發(fā)、工程配套和系統(tǒng)集成,擁有豐富的自動(dòng)化產(chǎn)品的應(yīng)用和實(shí)踐經(jīng)驗(yàn)以及雄厚的技術(shù)力量,尤其以PLC復(fù)雜控制系統(tǒng)、傳動(dòng)技術(shù)應(yīng)用、伺服控制系統(tǒng)、數(shù)控備品備件、人機(jī)界面及網(wǎng)絡(luò)/軟件應(yīng)用為公司的技術(shù)特長(zhǎng)。
五種西門子PLC程序加密方法,最后一種很難破!
大家都知道,很多品牌PLC的程序都可以通過(guò)軟件解密,那么一旦解密后程序就非常透明的顯示在了別人的眼中,而將設(shè)備賣給別人又將PLC程序整個(gè)鎖死的話又不切實(shí)際,甲方會(huì)無(wú)法維護(hù);而保密和維權(quán)更是中國(guó)市場(chǎng)經(jīng)久不衰的話題,其實(shí)德國(guó)的工程師從來(lái)不會(huì)給自己的程序整體加密,而是使用其他方式,既不影響發(fā)生故障時(shí)的診斷,又可以保護(hù)自己的核心機(jī)密。西門子伺服驅(qū)動(dòng)總代理給大家介紹一下這些方式,供大家參考。
01使用西門子安全PLC或者博途的KNOWHOW功能
西門子安全PLC作為西門子主打安全功能的一款產(chǎn)品,它的性能毋庸置疑,而且安全PLC的程序塊加密后無(wú)法破解;可以很好的保護(hù)核心。而博途PLC作為西門子的最新產(chǎn)品,其版權(quán)保護(hù)也是它的主要功能之一,KNOWHOW功能是軟硬件雙重加密,不加密的塊可以正常監(jiān)控,沒(méi)有密碼的話甚至無(wú)法下載到其他PLC;因此使用博途的KNOWHOW功能既可以將程序交給甲方方便維護(hù),又可以保護(hù)自己的核心程序不被竊取。
02采用高級(jí)語(yǔ)言編寫部分重要的工藝程序
西門子除了最基礎(chǔ)的LAD梯形圖編程,F(xiàn)BD功能塊編程和STL語(yǔ)句表編程還有很多其他的方式,比如說(shuō)PCS7的CFC,SFC; 除此之外還有SCL,S7-GRAPH等等。對(duì)于這些語(yǔ)言,一般的工控人員很難全部精通,因此仿制難度大大提升,因此非常關(guān)鍵的工藝程序可以由這些語(yǔ)言編寫,也可以很好的保護(hù)自己的核心。
1.編程方式的采用
a)采用模塊化的程序結(jié)構(gòu),采用符號(hào)名,參數(shù)化來(lái)編寫子程序塊
b)盡量采用背景數(shù)據(jù)塊和多重背景的數(shù)據(jù)傳遞方式
c)多采用間接尋址的編程方式
d)復(fù)雜系統(tǒng)的控制程序尤其是一些帶有順序控制或配方控制的程序,可以考慮采用數(shù)據(jù)編程的方式,即通過(guò)數(shù)據(jù)的變化來(lái)改變系統(tǒng)的控制邏輯或控制順序。
西門子專業(yè)技術(shù)團(tuán)隊(duì)PLC代理商用戶應(yīng)該盡量采用以上幾種高級(jí)層次的編程方式,這樣編出來(lái)的程序中嵌入系統(tǒng)的保護(hù)加密程序,才不容易被發(fā)現(xiàn)而仿制。
2.主動(dòng)保護(hù)方法
a)利用系統(tǒng)的時(shí)鐘
b)利用程序卡或者CPU的ID號(hào)和序列號(hào)
c)利用EEPROM的反寫入功能,及一些需要設(shè)置的內(nèi)存保持功能 d)利用系統(tǒng)提供的累時(shí)器功能
e)在用戶程序的數(shù)據(jù)塊中設(shè)置密碼
f)軟件上設(shè)置邏輯陷阱
g)可以反向利用自己在編程時(shí)犯的錯(cuò)誤
3.被動(dòng)保護(hù)方法
a)在內(nèi)存容量利用許可的條件下,不要?jiǎng)h除被認(rèn)為是無(wú)用的程序
b)在數(shù)據(jù)塊里留下開發(fā)者的標(biāo)識(shí),以便于將來(lái)遭到侵權(quán)時(shí)可以取證
4.應(yīng)用反竊取技術(shù)的注意事項(xiàng)
a)在用戶程序中嵌入保護(hù)程序要顯得自然一些,不能很突兀的加出一段程序來(lái),代碼要盡量精簡(jiǎn),變量符號(hào)名應(yīng)與被嵌入程序段的變量保持一致
b)往往一種保護(hù)加密手段是不夠的,應(yīng)該多種方法并用,并且這些保護(hù)程序一旦激活后對(duì)系統(tǒng)造成的后果也應(yīng)該盡量不同,造成所謂的“地雷效應(yīng)",從而增加程序被竊取的難度,時(shí)間與成本,短時(shí)間內(nèi)讓抄襲者束手無(wú)策,
c)保護(hù)好程序的原代碼,如果需要交付程序的,在不影響用戶對(duì)設(shè)備維護(hù)的前提下,應(yīng)對(duì)交付的程序做適當(dāng)?shù)募夹g(shù)處理,如刪除部分符號(hào)名,采用上載的程序或數(shù)據(jù)塊
d)做好嚴(yán)格的測(cè)試,以避免保護(hù)程序的不完善引起的誤動(dòng)作而帶來(lái)的不必要的麻煩,同時(shí)也能降低售后服務(wù)的的費(fèi)用。
03使用通訊功能
在實(shí)際應(yīng)用中,往往會(huì)遇到一些系統(tǒng)間需要數(shù)據(jù)交換的問(wèn)題(多個(gè)PLC之間,PLC與第三方儀表之間),無(wú)論是西門子產(chǎn)品之間還是西門子產(chǎn)品與第三方產(chǎn)品之間,建議使用通訊的方案來(lái)代替模擬量或開關(guān)量之間的信號(hào)互連的方案。對(duì)于前者,仿制者只能看見一條硬件的通訊線,至于有多少數(shù)據(jù)是如何通過(guò)通訊交換的,仿制者必須要花精力研究具體的用戶程序才能搞清楚;而對(duì)于后者,開發(fā)者是省心省力了,仿制者也是一目了然,盡收眼底。
對(duì)于一些變頻器或者伺服電機(jī)等的程序設(shè)計(jì),一般有多種方式,可以線路直接控制還可以通訊控制,那么使用通訊的方式的話會(huì)使得程序增加了仿制的難度,比如說(shuō)PLC對(duì)于伺服驅(qū)動(dòng)器的控制有多種,簡(jiǎn)單一些的可以是脈沖直接控制或者模擬量控制,這種方式就容易仿制,如果換成通訊控制,則會(huì)使得程序復(fù)雜很多,加上仿制者如果對(duì)報(bào)文不熟悉,很難去仿制。
04采用面板類型的人機(jī)界面
盡量在自動(dòng)化系統(tǒng)中使用面板類型的人機(jī)界面來(lái)代替單一的按鈕指示燈,很多人機(jī)界面沒(méi)有源程序的話只有備份和恢復(fù)功能,*可以實(shí)現(xiàn)維護(hù)功能還保密了HMI這一層的程序,而對(duì)于一個(gè)PLC系統(tǒng)而言,即使擁有了源程序但是缺失了HMI部分的標(biāo)記也是很難仿制的。
而且開發(fā)者可以在面板的畫面上加上明顯的廠家標(biāo)識(shí)等信息,仿制者就不能原樣照抄。
如果就使得如果仿制者想要復(fù)制程序的話,就必須重新編寫操作面板的程序甚至于PLC的程序,而開發(fā)者則可利用面板和PLC數(shù)據(jù)接口的一些特殊功能區(qū)(如西門子面板的區(qū)域指針,或VB腳本)來(lái)控制PLC的程序執(zhí)行。這樣的PLC程序在沒(méi)有HMI源程序的情況下只能靠猜測(cè)和在線監(jiān)視來(lái)獲取PLC內(nèi)部變量的變化邏輯,費(fèi)時(shí)費(fèi)力,極大的增加了仿制抄襲的難度。
05采用非標(biāo)準(zhǔn)的人機(jī)界面
德國(guó)工程師都愿意使用這種方式。在中國(guó),大多數(shù)工程師都愿意使用WINCC,INTOUCH或者組態(tài)王等等,但其實(shí)除了這些軟件,還有一種更加高大上的編寫方式,那就是利用VB自己寫程序,而對(duì)于軟件與PLC的接口,大家可以選擇LIBNODAVE或者其他庫(kù)等,這種方式寫出來(lái)的人機(jī)界面有著很多好處,首先沒(méi)有版權(quán)問(wèn)題,因?yàn)閂B軟件是免費(fèi)的,而且對(duì)于WINDOW系統(tǒng)的升級(jí)來(lái)說(shuō)只需要簡(jiǎn)單的添加幾個(gè)文件即可實(shí)現(xiàn),不像WINCC那樣,如果window升級(jí)了,需要大量修改文件。
一般人都無(wú)法修改,更別提仿制了;沒(méi)有很好的計(jì)算機(jī)編程功底的話就不敢輕易修改,而僅僅有計(jì)算機(jī)功底又沒(méi)有PLC或者工藝基礎(chǔ)的話也是無(wú)法更改的。