1樓:
我是學三菱的plc,歐姆龍的我學了很久了,早就忘了,我現在根據三菱的來同你說說,具體的你還得去找書來看看。你的這個指令是肯定不行的,問題1:set是置位,只置的是你指定的那一個位,它不能置二個以上:
問題2:你的50個位,太多了,我知道plc大多數最多是32位,難道你的plc是64位的?這個我就不清楚了。
你看著辦吧,我同你說,你要置多個位的話,要用到資料傳輸指令。就是把「1」目標打運算元傳送到你要指定為「on」的原運算元,(就是把你所要的1200.1-1200.
49為「on」)如果你的plc是32位的話,分二次傳送,比如三菱的就是,
mov k1 k2m0 這條指令的意思就是把「k1」這個常數「1」傳送到m0-m7去,就是m0-m7這8個輔助繼電器為「on」,如果是超過16位的話就要在mov前加d,如dmov k1 k5y0,就是要把輸出繼電器y0-y7 這八位 + y10-y17這八位 + y20-y22三位 = k5×4 =20位
k5y0,這個意思你知道就好不知道的話有點煩麻,意思是k1*4=位、k2*4=8位、k3*4=12位、、
、最多為k8*4=32位,具體的你去看書了,如果你是三菱的,我什麼都可以給你解決。
2樓:匿名使用者
在1和50前面加&試試
歐姆龍plc多位復位指令怎麼用?
3樓:zgr_我要**
在前面碰到個問置位的,現在就這種問題再說一遍
你的指令用法是沒有錯的,否則也不能編譯,既然想讓從1200.0開始往後100個繼電器復位,程式應該這麼寫rsta 1200 &0 &100,最後一個是數量想復位幾個就改幾個
歐姆龍的的指令的常量是分10進位制和16進位制的,10進位制的需要在數值前面加&號,16進位制加#號,否則就變成通道號了,像你這個就變成輸入0通道的值開始到輸出100通道的值結束,當然沒有效果
4樓:匿名使用者
rsta 1200 &0 &100
請問一下歐姆龍plc程式設計的多位復位指令rsta怎麼用的啊
5樓:匿名使用者
復位指令rset的用法:當邏輯條件接通時,set指令接通指定繼電器,並且當邏輯條件斷開後,該繼專電器仍然保持接通狀屬態,直到對該繼電器執行rset指令時才斷開。
當輸入繼電器000001接通時執行set指令,輸出繼電器000100接通,此後當000001斷開時,輸出繼電器000100仍然保持接通,直到輸入繼電器000002接通時,輸出繼電器000100才斷開。
6樓:匿名使用者
rsta是這樣自
的,圖中100的位置是指儲存區100,然後&0是指從100的第0位開始復位,&8是指向後8位都一起復位,所以上面的指令的意思就是100的儲存區從它的第0位開始到第7位,總共8個位的資料,全部復位。樓主,平時遇到不知道的指令,可以直接在歐姆龍的開發平臺上查詢幫助,相當好用的。
7樓:弒滅刀客
100.00-100.07從0-7剛好一個通道8個位元組,&表示十進位制無符號
8樓:匿名使用者
上面的指令是吧100.00~100.07復位
想要歐姆龍plc的所有基本指令!!
9樓:靳溪黎
歐姆龍cpm1a系列plc基本指令
cpm1a系列plc的基本邏輯指令與fx系列plc較為相似,梯形圖表達方式也大致相同,這裡列表表示cpm1a系列plc的基本邏輯指令(見表4-8)表4-8 cpm1a系列plc的基本邏輯指令指令名稱 指令符 功能 運算元
取 ld 讀入邏輯行或電路塊的第一個常開接點 00000~0191520000~25507hr0000~1915ar0000~1515lr0000~1515tim/cnt000~127tr0~7*tr僅用於ld指令
取反 ld not 讀入邏輯行或電路塊的第一個常閉接點
與 and 串聯一個常開接點
與非 and not 串聯一個常閉接點
或 or 並聯一個常開接點
或非 or not 並聯一個常閉接點
電路塊與 and ld 串聯一個電路塊 無
電路塊或 or ld 並聯一個電路塊
輸出 out 輸出邏輯行的運算結果 00000~0191520000~25507hr0000~1915ar0000~1515lr0000~1515tim/cnt000~127tr0~7*tr僅用於out指令
輸出求反 out not 求反輸出邏輯行的運算結果
置位 set 置繼電器狀態為接通
復位 rset 使繼電器復位為斷開
定時 tim 接通延時定時器(減算)設定時間0~999.9s tim/cnt000~127設定值0~9999定時單位為0.1s計數單位為1次
計數 cnt 減法計數器 設定值0~9999次
歐姆龍cpm1a系列plc功能指令
功能指令又稱專用指令,cpm1a系列plc提供的功能指令主要用來實現程式控制,資料處理和算術運算等。這類指令在簡易程式設計器上一般沒有對應的指令鍵,只是為每個指令規定了一個功能**,用兩位數字表示。在輸入這類指令時先按下「fun」鍵,再按下相應的**。
下面將介紹部分常用的功能指令。1.空操作指令nop(0 0)本指令不作任何的邏輯操作,故稱空操作,也不使用繼電器,無須運算元。該指令應用在程式中留出一個地址,以便除錯程式時插入指令,還可用於微調掃描時間。
2.結束指令end(01)本指令單獨使用,無須運算元,是程式的最後一條指令,表示程式到此結束。plc在執行使用者程式時,當執行到end指令時就停止執行程式階段,轉入執行輸出重新整理階段。如果程式中遺漏end指令,程式設計器執行時則會顯示出錯訊號:
「no end inset」:當加上end指令後,plc才能正常執行。本指令也可用來分段除錯程式。
3.互鎖指令il(02)和互鎖清除指令ilc(0 3)這兩條指令不帶運算元,il指令為互鎖條件,形成分支電路,即新母線以便與ld指令連用,表示互鎖程式段的開始;ilc指令表示互鎖程式段結束。互鎖指令il和互鎖清除指令ilc用來在梯形圖的分支處形成新的母線,使某一部分梯形圖受到某些條件的控制。il和ilc指令應當成對配合使用,否則出錯。
il/ilc指令的功能是:如果控制il的條件成立(即on),則執行互鎖指令。若控制il的條件不成立(即off),則il與ilc之間的互鎖程式段不執行,即位於il/ilc之間的所有繼電器均為off,此時所有定時器將復位,但所有的計數器,移位暫存器及保持繼電器均保持當前值。
4.跳轉開始指令jmp(0 4)和跳轉結束指令jme(0 5)這兩條指令不帶運算元,jmp指令表示程式轉移的開始,jme指令表示程式轉移的結束。jmp/jme指令組用於控制程式分支。當jmp條件為off時,程式轉去執行jme後面的第一條指令;當jmp的條件為on,則整個梯形圖按順序執行,如同jmp/jme指令不存在一樣。
在使用jmp/jme指令時要注意,若jmp的條件為off,則jmp/jme之間的繼電器狀態為:輸出繼電器保持目前狀態;定時器/計數器及移位暫存器均保持當前值。另外jmp/jme指令應配對使用,否則plc顯示出錯。
5.逐位移位指令 sft(10) 又稱移位暫存器指令,本指令帶兩個運算元,以通道為單位,第一個運算元為首通道號d1,第二個運算元為末通道號d2。所使用的繼電器有:000ch~019ch, 200ch~252ch, hr00~hr19。
其功能相當於一個序列輸入移位暫存器。移位暫存器有資料輸入端(in)、移位時鐘端(cp)及復位端(r),必須按照輸入(in)、時鐘(cp)、復位(r)和sft指令的順序進行程式設計。當移位時鐘由off→on時,將(d1~d2)通道的內容,按照從低位到高位的順序移動一位,最高位溢位丟失,最低位由輸入資料填充。
當復位端輸入on時,參與移位的所有通道資料均復位,即都為off。如果需要多於16位的資料進行移位,可以將幾個通道級連起來。移位指令在使用時須注意:
起始通道和結束通道,必須在同一種繼電器中且起始通道號≤結束通道號。6.鎖存指令keep(11)本指令使用的運算元有:01000~01915、20000~25515、hr0000~hr1915,其功能相當於鎖存器,當置位端(s端)條件為on時,keep繼電器一直保持on狀態,即使s端條件變為off,keep繼電器也還保持on,,直到復位端(r端)條件為on時,才使之變off ,keep 指令主要用於線圈的保持,即繼電器的自鎖電路可用keep指令實現。
若set端和res端同時為on,則keep繼電器優先變為off。鎖存繼電器指令編寫必須按置位行(s端),復位行(r端)和keep繼電器的順序來編寫。7.前沿微分脈衝指令difu(13)和後沿微分脈衝指令difd(14)本指令使用運算元有:
01000~01915、20000~25515、hr0000~hr1915,difu的功能是在輸入脈衝的前(上升)沿使指定的繼電器接通一個掃描週期之後釋放,而difd的功能是在輸入脈衝的後(下降)沿使指定的繼電器接通一個掃描週期之後釋放。8.快速定時器指令 timh(15)本指令運算元佔二行,一行為定時器號000~127(不得與tim或cnt重複使用同號),另一行為設定時間。設定的定時時間,可以是常數,也可以由通道000ch~019ch,20000ch~25515ch,hr0000~hr1915中的內容決定,但必須為四位bcd碼。
其功能與基本指令中的普通定時器作用相似,唯一區別是timh定時精度為0. 01s,定時範圍為0~99.99s。
9.通道移位指令wsft(16)又稱字移位指令,本指令是以字(通道)為單位的序列移位。運算元為首通道號d1,末通道號d2。可取000ch~019ch, 200ch~252ch, hr00~hr19。
通道移位指令執行時,當移位條件為on,wsft從首通道向末通道依此移動一個字,原首通道16位內容全部復位,原末通道中的16位內容全部移出丟失。wsft指令在使用時須注意:首通道和末通道必須是同一型別的繼電器;首通道號≤末通道號。
當移位條件為on時,cpu每掃描一次程式就執行一次wsft指令。如只要程式執行一次,則應該用微分指令。10.可逆計數器指令 cntr(12)本指令的功能是對外部訊號進行加1或減1的環形計數。
帶兩個運算元:計數器號000~127,設定值範圍0000~9999,設定值可以用常數,也可以用通道號,用通道號時,設定值為通道中的內容。11.比較指令cmp(20)本指令的功能是將s(源通道)中的內容與d(目標通道)的內容進行比較,其比較結果送到plc的內部專用繼電器25505、05506、25507中進行處理後輸出,輸出狀態見表4-9。
表4-9 比較結果輸出專用繼電器狀態表smr 25505 25506 25507
s>d on off off
s=d off on off
s,d off off on
比較指令cmp用於將通道資料s與另一通道資料d中的十六進位制數或四位常數進行比較,s和d中至少有一個是通道資料。12.資料傳送指令 mov(21)和資料求反傳送指令movn(22)這兩條指令都是用於資料的傳送。當mov前面的狀態為0n時,執行mov指令,在每個掃描週期中把s中的源資料傳送到目標d所指定的通道中去。
當mov前面的狀態為0ff時,執行movn指令,在每個掃描週期中把s中的源資料求反後傳送到目標d所指定的通道中去。執行傳送指令後,如果目標通道d中的內容全為零時,則標誌位25506為on。13.進位置位指令stc(40)和進位復位位指令clc(41)這兩條指令的功能是將進位標誌繼電器25504置位(即置on)或強制將進位標誌繼電器25504復位(即置off)。
當這兩條指令前面狀態為on時,執行指令,否則不執行。通常在執行加、減運算操作之前,先執行clc指令來清進位位,以確保運算結果的正確。14.加法指令add(30) 本指令是將兩個通道的內容或一個通道的內容與一個常數相加(帶進位位),再把結果送至目標通道d。
運算元中被加數s1、加數s2、運算結果d的內容見表4-10。表4-10 加法指令的運算元內容s1/s2 000~019ch 200~231ch hr00~hr19 tim/cnt000~127 dm0000~1023dm6144~6655 四位常數
d 010~019ch 200~231ch hr00~hr19 — dm0000~1023 —
注:dm6144~6655不能用程式寫入(只能用外圍裝置設定)說明:執行加法運算前必須加一條清進位標誌指令clc(41)參加運算;被加數和加數必須是bcd數,否則25503置on,不執行add指令;若相加後結果有進位,則進位標誌繼電器25504為on;若和為零,則專用繼電器25506變為on。
15.減法指令sub(31)本指令與add指令相似,是把兩個四位bcd數作帶借位減法,差值送入指定通道,其運算元同add指令。在編寫sub指令語言時,必須指定被減數,減數和差值的存放通道三個數說明:執行減法運算前必須加一條清進位位指令clc(41);被減數和減數必須是bcd數,否則25503置on,不執行sub指令;若運算結果有借位,則進位標誌繼電器25504為on;若運算結果為零,則專用繼電器25506變為on。
以上介紹是cpm1a系列plc一些常用的專用指令,還有一些未作介紹,c200h系列plc除了基本指令和cpm1a系列plc相同外,很多功能指令也相同,另外又增加了一些功能指令,讀者可以根據不同型號的plc按其使用功能的不同參閱使用手冊加以學習和掌握。
PLC控制水泵的程式,歐姆龍PLC控制伺服電機的程式
問題不簡單啊,第一個是反饋,用什麼反饋,速度?第二,就是wicc.建議 首先動手按照繼電器的思路去做。在把繼電器電路轉換成plc程式,呵呵,自己動手改。然後,處理wicc組態的問題。 這個程式非常簡單的,只是現在這個電腦上沒有step7的軟體。過程可以給你講講的。對於wincc程式,要稍微的麻煩些 ...
如何使用歐姆龍製氧機,如何使用歐姆龍製氧機,操作起來麻煩嗎?老人用
我 買 的 時 候 裡 面 有 帶 說 明 書 講 的 挺 詳 細 的 後 來 找 不 到 了 我 還 打 電 話 問 了 歐 姆 龍 的 售 後 一 些 細 節 問 題 他 們 跟 我 說 官 網 上 也 能 下 載 說 明 書 了 但 是 我 問 題 解 決 了 就 沒 去 官 網 看 你 可 ...
為什麼歐姆龍PLC中W可以存放資料
如果你知道 二進位制 和 資料型別 的概念。你就知道為什麼了。首先,所有的資料都是用位來表示的。比如二進位制的0101,表示十進位制的5。那麼w是幾個位?d是幾個位?一個位的資料型別可以儲存兩個數字,0和1。在plc中,0可以表示斷開,1表示接通。那麼你應該知道輸入點和輸出點是多少個位了。1個位是0...