歐姆龍PLC是一種功能完善的緊湊型PLC,能為業(yè)界的輸送分散控制等提供高附加值機(jī)器控制;它還具有通過各種高級內(nèi)裝板進(jìn)行升級的能力,大程序容量和存儲器單元,以Windows環(huán)境下高效的軟件開發(fā)能力。
條件:歐姆龍PLC變送器的輸出信號為0-10V,對應(yīng)溫度為-100--200攝氏度;CP1H的模擬量輸入量程設(shè)置為0-10V,分辨率選擇6000
目的:使用SCL2指令將模擬量轉(zhuǎn)換得到的數(shù)據(jù)0-6000(BIN)對應(yīng)縮放到-100--200(BCD)攝氏度顯示輸出。
程序如下:
SCL2控制字解釋:
200:CP1H的模擬量輸入通道1
D100:偏移量(帶符號BIN)詳見下圖
D101:ΔX(帶符號BIN)詳見下圖
D102:ΔY(BCD)詳見下圖
D200:轉(zhuǎn)換結(jié)果通道
結(jié)果:程序執(zhí)行后就可以實(shí)現(xiàn)0-6000(BIN)轉(zhuǎn)換到-100--200(BCD)攝氏度顯示了。
注:因?yàn)锽CD數(shù)是以十六進(jìn)制來表示十進(jìn)制數(shù)據(jù)的,因此對應(yīng)的溫度值應(yīng)該用16進(jìn)制方式去監(jiān)視。例如:當(dāng)200CH中的數(shù)據(jù)是&4000(即6.66V電壓輸入),那么用十六進(jìn)制監(jiān)控?cái)?shù)據(jù)D200應(yīng)該顯示#100。
&符號表示十進(jìn)制數(shù);#表示十六進(jìn)制數(shù)。
SCL指令應(yīng)用案例
條件:歐姆龍PLC變送器的輸出信號為0-10V,對應(yīng)壓力為0-400MPa;CP1H的模擬量輸入量程設(shè)置為0-10V,分辨率選擇6000。
目的:使用SCL指令將模擬量轉(zhuǎn)換得到的數(shù)據(jù)0-6000(BIN)對應(yīng)縮放到0-400MPa(BCD)顯示輸出。
程序如下:
結(jié)果:程序執(zhí)行后就可以實(shí)現(xiàn)0-6000(BIN)轉(zhuǎn)換到0-400(BCD)的壓力值了。
注:因?yàn)锽CD數(shù)是以十六進(jìn)制來表示十進(jìn)制數(shù)據(jù)的,因此對應(yīng)的壓力值應(yīng)該用16進(jìn)制方式去監(jiān)視。例如:當(dāng)200CH中的數(shù)據(jù)是&3000(即5V電壓輸入),那么用十六進(jìn)制監(jiān)控?cái)?shù)據(jù)D200應(yīng)該顯示#200。
&符號表示十進(jìn)制數(shù);#表示十六進(jìn)制數(shù)。
使用CPM1A-AD041的模塊采集模擬量4-20ma的信號,該模擬量信號取自一位移傳感器信號,代表一個0-100mm的距離,要怎么才能把輸入通道里的數(shù)據(jù)轉(zhuǎn)換成所對應(yīng)的這個距離值呢?
可以使用SCL指令做此類的定標(biāo)轉(zhuǎn)換,該指令的作用是把一個16進(jìn)制數(shù)據(jù)線性轉(zhuǎn)換成一個BCD碼的數(shù)據(jù),這條指令有3個操作數(shù)見圖1,S為源字,P1是參數(shù)首字,R是結(jié)果字,從P1到P1+3要設(shè)置4個值,P1是AY,P1+1是AX,P1+2是BY,P1+3是BX(見圖2),在此例中因?yàn)檩斎氲臄?shù)據(jù)范圍是0-1770 HEX,所以P1+1和P1+3分別是0和1770,而定標(biāo)結(jié)果是0-100,所以P1和P1+2分別是0和100.具體可以這么做,例如AD041的輸入通道是002,把DM0作為參數(shù)首字,D10作為結(jié)果字存放0-100的距離值。
SCL 2 DM0 DM10
在執(zhí)行SCL指令前先用MOV指令對DM0-DM3里分別賦值0,0,100,1770。之后SCL指令就能把輸入的模擬量值定標(biāo)成0-100的距離值了。
CPM1A-MAD02-CH使用了4路輸入,但是它的輸入數(shù)據(jù)是每兩路放一個通道的,這樣就無法進(jìn)行監(jiān)視或處理單獨(dú)路的輸入數(shù)據(jù)了,有什么辦法可以把兩路數(shù)據(jù)分離開嗎?
可以用MOVD指令,分別把兩路數(shù)據(jù)傳送到一個單獨(dú)的通道。該指令有3個操作數(shù),
操作數(shù)排列如圖1,S是源字,也就是用模擬量輸入的通道,DI是數(shù)位號,每個數(shù)字方式如上圖2,也就是從源字中哪一個數(shù)字開始傳送(一個通道是4個16進(jìn)制數(shù)字,一路輸入是半個通道,也就是2個16進(jìn)制數(shù)字),傳送幾個數(shù)字,傳送到目標(biāo)通道的哪個數(shù)字,D就是目標(biāo)通道。例如現(xiàn)在MAD02的第一第二路輸入的通道是002通道,現(xiàn)在要把第一路數(shù)據(jù)傳送到DM0,第二路數(shù)據(jù)傳送到DM1,MOVD指令
CPM1A-AD041的外部輸入電流和電壓信號要如何接線?
電壓輸入:把外部的輸入正信號接V IN,負(fù)信號接com端;
電流輸入:把模塊上V IN和I IN的端子短接后接輸入正信號,負(fù)信號接com端。
CPM1A-MAD02-CH的參數(shù)應(yīng)該怎么設(shè)置?
在n+1通道(n為分配給CPU單元或前一個擴(kuò)展單元的最后一個輸出通道)的每個位對應(yīng)的作用按照如下表分配,在量程對應(yīng)的位是設(shè)定輸入輸出的量程范圍,在啟動位和平均值對應(yīng)的位是設(shè)定該功能使用與否,例如4路輸入1路輸出全用4-20ma,平均值功能不用,就在N+1通道設(shè)置C3FF HEX就可以了。
CP1H-X□40D□-□的型號是如何定義的?
歐姆龍PLCMOVD指令的解釋
舉例說明如下:
S:200CH為傳送源地址,初始值為#ABCD(十六進(jìn)制)。
D:300CH為傳送目標(biāo)地址,初始值為#0000(十六進(jìn)制)。
例1:D300為#0211:
從左往右解釋:
2表示傳送到目標(biāo)字以位2開始(即8-11位)。
1表示傳送位數(shù)2位。
1表示傳送源字以位1開始(即4-7位)。
程序執(zhí)行后,300CH中的值為#BC00。
例2:D300為#0230:
從左往右解釋:
2表示傳送到目標(biāo)字以位2開始(即8-11位)。
3表示傳送位數(shù)4位。
0表示傳送源字以位0開始(即0-3位)。
程序執(zhí)行后,300CH中的值為#CDAB。
CPM2A-30CDR-A配CPM1A-AD041和CPM1A-20EDR1地址是如何分配的?
CX-Programmer下傳程序的時提示UM區(qū)被保護(hù),如何處理?
① 新建PLC程序時,在設(shè)備型號后的設(shè)定中選中了文件內(nèi)存只讀,只要把文件內(nèi)存只讀的鉤去掉即可;
② 詢問CPU型號:
a.CPM系列,DM 6602設(shè)為了×××1,可以在編程模式中將DM6602設(shè)為×××0后斷電上電即可;
b.C200Ha或CQM1系列,CPU蓋板下的開關(guān)中的DIP-1打在了On上,斷電將DIP-1打?yàn)镺ff上電即可;
c.CP/CJ/CS系列,如果CPU被加過寫保護(hù)密碼,需要先釋放密碼,CPU蓋板下的開關(guān)中的DIP-1打在了On上,斷電將DIP-1打?yàn)镺ff上電即可。
在輸入模擬量數(shù)據(jù)后,如果要把數(shù)據(jù)定標(biāo)成帶小數(shù)點(diǎn)的數(shù)據(jù),可以怎么做?
兩種辦法,一是把定標(biāo)的結(jié)果數(shù)據(jù)放大10的N次方來得出小數(shù)點(diǎn),例如需要2位小數(shù),例如把0-0FA0的輸入定標(biāo)成0-10.00V的BCD碼,帶兩位小數(shù),那就當(dāng)成0-1000來定標(biāo)。如果是CP1H或CQM1H那還有一種方法,就是如果把源數(shù)據(jù)轉(zhuǎn)成浮點(diǎn)數(shù)來做浮點(diǎn)運(yùn)算,也能做到,但因?yàn)镃PM系列的PLC不支持浮點(diǎn)數(shù),所以不能用這個方法。
4-20ma模擬量輸入的時候,輸入信號為4ma,但輸入通道的數(shù)據(jù)在0,65535兩個值跳,這是正常的嗎?實(shí)際使用中如果不能有這樣的數(shù)據(jù)怎么辦?
65535的16進(jìn)制其實(shí)是FFFF,因?yàn)镻LC是用二進(jìn)制補(bǔ)碼表示負(fù)數(shù)的,其實(shí)這個數(shù)據(jù)是代表-1,也就是模擬量輸入在0到-1之間跳動,是屬于正常的。如果處理跳變的現(xiàn)象,不要直接用輸入通道的數(shù)據(jù),可以把這個數(shù)據(jù)傳送到另一個中間通道后再使用,之前用一條CPS比較指令判斷輸入信號是否是負(fù)的,如果是負(fù)的,就不傳送輸入通道數(shù)據(jù)而傳送0到這個中間通道,把信號作為0來處理
幾根常用的RS-232C通訊電纜的接線?
①電纜XW2Z-200S-V連接圖:
PLC(9孔)側(cè) PC(9針計(jì)算機(jī))側(cè)
2――――2
3――――3
9――――5
PLC的4與5短接
PC側(cè)的4與6短接, 7與8短接
②電纜XW2Z-200S-CV連接圖:
PLC(9孔)側(cè) PC(9針計(jì)算機(jī))側(cè)
2――――2
3――――3
4――――8
5――――7
9――――5
③電纜XW2Z-200P-V連接圖:
PLC(25孔)側(cè) PC(9針計(jì)算機(jī))側(cè)
2――――2
3――――3
7――――5
PLC側(cè)4,5短接,6,20短接。
計(jì)算機(jī)側(cè)4,6短接,7,8短接。
④電纜XW2Z-200T連接圖:
PLC(9孔)側(cè) 觸摸屏(9孔)側(cè)
2――――3
3――――2
9――――9
PLC和觸摸屏兩側(cè)的4,5都要短接。
CPM1A的外設(shè)口用CPM1-CIF11轉(zhuǎn)成RS-422口后連計(jì)算機(jī)側(cè)的RS-422電纜接線?
CIF11 計(jì)算機(jī)
SDA———RDA
SDB———RDB
RDA———SDA
RDB———SDB
NC模塊的參數(shù)設(shè)置注意事項(xiàng)
a)當(dāng)m+2控制字設(shè)置為0000,即x軸使用保存在PCU的FLASH中的軸參數(shù)時,NC模塊控制電機(jī)正常;
b)當(dāng)m+2控制字設(shè)置為0001,即x軸使用分配給特殊I/O單元的數(shù)據(jù)存儲器區(qū)域字設(shè)置的軸參數(shù)時,NC模塊控制電機(jī)不正常。
具體表現(xiàn)如下:
在a)狀態(tài)時,開機(jī)搜索原點(diǎn)(n.06),然后手動控制電機(jī)進(jìn)位,然后執(zhí)行原點(diǎn)返回命令(n.07),電機(jī)返回原點(diǎn);
在b)狀態(tài)時,開機(jī)搜索原點(diǎn),然后手動控制電機(jī)進(jìn)位,然后執(zhí)行原點(diǎn)返回命令(n.07),電機(jī)停止不動,檢查n+2.05位,發(fā)現(xiàn)為ON,即表示定位結(jié)束。
根據(jù)現(xiàn)象,判斷是NC模塊沒有完成正確的設(shè)置,以至于它沒有能夠正確判斷相對和絕對移動。檢查公共參數(shù)區(qū)域(m,m+1……),沒有發(fā)現(xiàn)問題
。但是在檢查到m+25~m+28參數(shù)區(qū)域時,這4個通道內(nèi)值為0。
這4個通道分別是設(shè)置CCW/CW的軟限位的。
在以前的試驗(yàn)中我們曾發(fā)現(xiàn)過當(dāng)軟限位未設(shè)置的情況下,NC模塊不能執(zhí)行正確的絕對和相對移動,現(xiàn)象是讓電機(jī)按照絕對移動或者相對移動模式,運(yùn)行結(jié)果是一樣的,按照相對運(yùn)行的模式運(yùn)行。
所以估計(jì)是這個區(qū)域沒有設(shè)置導(dǎo)致客戶出現(xiàn)問題。將m+25~m+26設(shè)置為C0000001,m+27~m+28設(shè)置為3FFFFFFF。斷電上電,按照b)模式運(yùn)行,故障消除。
CJ1W-AD041的DM區(qū)設(shè)置?
對于DM字地址定義是m=20000+(單元號*100)D(m):輸入使用設(shè)置D(m+1):輸入信號范圍設(shè)置D(m+2):輸入1均值處理設(shè)置D(m+3):輸入2均值處理設(shè)置D(m+4):輸入3均值處理設(shè)置D(m+5):輸入4均值處理設(shè)置D(m+6)~D(m+17):未使用忽略設(shè)置D(m+18):高8位是轉(zhuǎn)換時間/分辨率設(shè)置,低8位是操作模式設(shè)置具體的參數(shù)設(shè)置請參照CJ1/CS1模擬量I/O單元中文操作手冊P86
例:
我用壓力傳感器輸入4-20mA,對應(yīng)工作壓力為0-70p,用SCL指令源通道我用200,參數(shù)字用D100(內(nèi)存設(shè)置D100,D101,D102,D103怎么寫),我要做4個報警,在用CMP指令做比較的時候,數(shù)據(jù)比較1寫D100,數(shù)據(jù)比較2寫4個報警的具體數(shù)值嗎?
1:分辨率為6000的情況下,四個參數(shù)字如下:D100:#0 D101:#0 D102:#70 D103:#1770 ;2:分辨率為12000的情況下,四個參數(shù)字如下:D100:#0 D101:#0 D102:#70 D103:#2EE0 ;
比如SCL指令的結(jié)果通道用的是D300,那么D300里面看到的就是0-70P之間的值,CMP指令和D300里面的當(dāng)前工程量作比較,滿足一定條件輸出報警
例2:
兩個壓力傳感器是電流型4-20mA輸出、其量程為0-25Mpa,我將其分別接入200CH、201CH,實(shí)際工作中的壓力計(jì)算公式是:實(shí)際壓力 X=20*25*D200/6000。(分辨率假定為6000);
我的程序是:--P_on-------Mov #0 D100
|-Mov #0 D101
|-Mov #25 D102
|-Mov #1770 D103
--P_on-------Scl 200 D100 D200
|-Cmp D200 D0(設(shè)定值)
|-P_on--1000
你的定標(biāo)是正確的,不過D102設(shè)成#25太小,精度太低,建議設(shè)為#2500.比較程序的判別標(biāo)記不能使用P_ON
聯(lián)系方式
郵箱:15214375780@163.com 地址:上海市松江區(qū)高技路655號4棟413-415