產(chǎn)品簡(jiǎn)介
6ES7341-1CH02-0AE0
SIMATIC S7-300,CP 341 通訊處理器帶 RS 422/485 接口 包括項(xiàng)目組態(tài)包 在 CD 上
詳細(xì)介紹
6ES73411CH020AE0西門子S7-300通信模塊
![]() | 6ES7341-1CH02-0AE0 SIMATIC S7-300,CP 341 通訊處理器帶 RS 422/485 接口 包括項(xiàng)目組態(tài)包 在 CD 上 |
SIEMENS西門子
*,質(zhì)量保證,保修一年
專業(yè)銷售及維修西門子各類工控自動(dòng)化配件;
:S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO邏西門子可編程控制器輯控制模塊
西門子HMI人機(jī)界面:觸摸屏
西門子變頻器:MM420、MM430、MM440、G110、G120、6SE70
西門子工業(yè)以太網(wǎng):通訊網(wǎng)卡、通訊電纜、通訊接頭、總線連接器 工控機(jī)、交換機(jī)、自動(dòng)化軟件等系型號(hào)齊全,快速報(bào)價(jià),買我們的產(chǎn)品無(wú)憂所值,我們的產(chǎn)品都承諾質(zhì)保一年,讓您買的省心舒心,用的放心!
跟我一起玩200smart PLC
我想為這些程序伸個(gè)冤
別光看我的標(biāo)題,會(huì)以為我被這些程序搞的如蒙冤多日,懷有血海深仇似的。都說(shuō)編程是一件綜合考量你對(duì)軟件、硬件;設(shè)備及工藝的認(rèn)識(shí)、理解程度的標(biāo)尺,但凡網(wǎng)上很多*的編程大俠洋洋灑灑地信手能夠?qū)懗鲈S多經(jīng)典的、移植性*的程序段子,直讓人感動(dòng)的五體投地。實(shí)際上都是他(她)在平時(shí)工作中的經(jīng)驗(yàn)累積及積極、主動(dòng)的學(xué)習(xí)態(tài)度所堆積起來(lái)的思想,和平時(shí)勤于觀察,善于記錄有關(guān)。
一些非常經(jīng)典、非常有意思的程序段子,總是時(shí)不時(shí)的在我眼前晃,似乎有一些“冤屈”要想通過(guò)我的這個(gè)口(準(zhǔn)確地講應(yīng)該是手),找個(gè)機(jī)會(huì)來(lái)伸一伸,則乃,我對(duì)此認(rèn)識(shí)尚還膚淺,理解淺顯,更不能夠勝任當(dāng)代的“老包”之職,回到正題,今天就說(shuō)說(shuō)這些“冤屈”。
例子程序若有雷同,全當(dāng)抄襲,先表示歉意。
先來(lái)說(shuō)說(shuō)這個(gè)程序,打開【S7-200 SMART PLUS 】幫助手冊(cè)----編程----子程序調(diào)用的常問問題2,程序截圖:
手冊(cè)中明確告知,這個(gè)子程序調(diào)用時(shí)和離開時(shí),輸出位的一些特性。
但是,如果我拿來(lái)做這個(gè)程序稍做修改,挪做其它功能又將如何?假設(shè),我把EN管腳的地址用I0.0替換,把IN1管腳用Q0.0的NC邏輯替換會(huì)產(chǎn)生怎么樣的結(jié)果?
編譯程序、保存、下載到cpu驗(yàn)證一下:
大家馬上都會(huì)看出來(lái)這個(gè)輸出是一個(gè)隨機(jī)值,或許為1,又或許為0,具體輸出的狀態(tài)看I0.0離開時(shí)PLC的掃描周期所處的位置。
好,我再加一點(diǎn)“料”,不修改子程序的前提下,對(duì)管腳再稍作修改,輸出的邏輯又將如何呢?
這時(shí)輸出變的有那么一點(diǎn)規(guī)律了,對(duì)了,這就是我們經(jīng)常在深入討論的、經(jīng)典的一個(gè)話題,就是所謂“單按鈕起、停”控制程序了。
如果你擔(dān)心多次調(diào)用這樣的子程序又將如何?那你需要自己去試試了。
所以,知道“然”,還要學(xué)會(huì)應(yīng)用這個(gè)“然”字,知道了它的“不足”,就是利用它的這個(gè)“不足”,把“壞事”變?yōu)?ldquo;好事”,一直被大家理解為不合理的程序調(diào)用,只要稍加修改也可以為我們所用,這個(gè)是我理解的“冤”,我想為它伸一伸。
再來(lái)看一個(gè)例子,一個(gè)循環(huán)指令的應(yīng)用:
相信大家也很快能夠看出問題的所在了,原因是這些臨時(shí)變量、輸入接口變量的初始值問題。在調(diào)用臨時(shí)變量、接口變量時(shí),大家都時(shí)刻注意著調(diào)用這些變量前,都會(huì)很自覺地做初始化的操作。但,是否是每一個(gè)變量都需要這樣做初始化呢?答案當(dāng)然是否定的。在特定的指令和應(yīng)用環(huán)境中,如、循環(huán)指令它本身啟動(dòng)時(shí),INDX管腳的初值一定是自0值開始循環(huán)的。而OUT1的管腳由于子程序多次調(diào)用,需要做初始值的操作了。不然當(dāng)該子程序被多次調(diào)用時(shí),這個(gè)管腳值會(huì)被多次修改,造成程序的混亂和錯(cuò)誤。
修改完整的子程序:
很顯然,我在這個(gè)程序中僅僅是做了需要計(jì)算結(jié)果的初始化,而對(duì)于循環(huán)指令的數(shù)據(jù)并沒有做任何操作,正常運(yùn)行程序如下所示:
所以,在準(zhǔn)備做多次調(diào)用的子程序時(shí),一些變量的初始值不是一概定論的,而是需要根據(jù)具體實(shí)際的需 要,靈活運(yùn)用,揚(yáng)長(zhǎng)避短,做到心中有數(shù),我再次想為這個(gè)定論伸一伸冤。
好了,其實(shí)編程應(yīng)該是一件快樂的事情,也別老掛著苦大仇深臉,只有心情愉悅了,思路才會(huì)天馬行空,任由你去馳騁。
本不想采用這個(gè)標(biāo)題,感覺偏離了當(dāng)時(shí)編寫短文的本意,但到后修改時(shí),突然閃出這么一個(gè)奇怪的念頭,感覺還是這樣寫的標(biāo)題或許會(huì)輕松一些,大家更容易有記憶,不當(dāng)之處盡請(qǐng)諒解。
6ES73411CH020AE0西門子S7-300通信模塊