華北中國西門子PLC授權供應商
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 西門子PLC 西門子觸摸屏 西門子伺服電機 西門子變頻器 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
條件:歐姆龍PLC變送器的輸出信號為0-10V,對應溫度為-100--200攝氏度;CP1H的模擬量輸入量程設置為0-10V,分辨率選擇6000
目的:使用SCL2指令將模擬量轉換得到的數據0-6000(BIN)對應縮放到-100--200(BCD)攝氏度顯示輸出。
程序如下:
SCL2控制字解釋:
200:CP1H的模擬量輸入通道1
D100:偏移量(帶符號BIN)詳見下圖
D101:ΔX(帶符號BIN)詳見下圖
D102:ΔY(BCD)詳見下圖
D200:轉換結果通道
結果:程序執行后就可以實現0-6000(BIN)轉換到-100--200(BCD)攝氏度顯示了。
注:因為BCD數是以十六進制來表示十進制數據的,因此對應的溫度值應該用16進制方式去監視。例如:當200CH中的數據是&4000(即6.66V電壓輸入),那么用十六進制監控數據D200應該顯示#100。
&符號表示十進制數;#表示十六進制數。
SCL指令應用案例
條件:歐姆龍PLC變送器的輸出信號為0-10V,對應壓力為0-400MPa;CP1H的模擬量輸入量程設置為0-10V,分辨率選擇6000。
目的:使用SCL指令將模擬量轉換得到的數據0-6000(BIN)對應縮放到0-400MPa(BCD)顯示輸出。
程序如下:
結果:程序執行后就可以實現0-6000(BIN)轉換到0-400(BCD)的壓力值了。
注:因為BCD數是以十六進制來表示十進制數據的,因此對應的壓力值應該用16進制方式去監視。例如:當200CH中的數據是&3000(即5V電壓輸入),那么用十六進制監控數據D200應該顯示#200。
&符號表示十進制數;#表示十六進制數。
使用CPM1A-AD041的模塊采集模擬量4-20ma的信號,該模擬量信號取自一位移傳感器信號,代表一個0-100mm的距離,要怎么才能把輸入通道里的數據轉換成所對應的這個距離值呢?
可以使用SCL指令做此類的定標轉換,該指令的作用是把一個16進制數據線性轉換成一個BCD碼的數據,這條指令有3個操作數見圖1,S為源字,P1是參數首字,R是結果字,從P1到P1+3要設置4個值,P1是AY,P1+1是AX,P1+2是BY,P1+3是BX(見圖2),在此例中因為輸入的數據范圍是0-1770 HEX,所以P1+1和P1+3分別是0和1770,而定標結果是0-100,所以P1和P1+2分別是0和100.具體可以這么做,例如AD041的輸入通道是002,把DM0作為參數首字,D10作為結果字存放0-100的距離值。
SCL 2 DM0 DM10
在執行SCL指令前先用MOV指令對DM0-DM3里分別賦值0,0,100,1770。之后SCL指令就能把輸入的模擬量值定標成0-100的距離值了。
CPM1A-MAD02-CH使用了4路輸入,但是它的輸入數據是每兩路放一個通道的,這樣就無法進行監視或處理單獨一路的輸入數據了,有什么辦法可以把兩路數據分離開嗎?
可以用MOVD指令,分別把兩路數據傳送到一個單獨的通道。該指令有3個操作數,
操作數排列如圖1,S是源字,也就是用模擬量輸入的通道,DI是指定數位號,每個數字指定方式如上圖2,也就是指定從源字中哪一個數字開始傳送(一個通道是4個16進制數字,一路輸入是半個通道,也就是2個16進制數字),傳送幾個數字,傳送到目標通道的哪個數字,D就是指定目標通道。例如現在MAD02的第一第二路輸入的通道是002通道,現在要把第一路數據傳送到DM0,第二路數據傳送到DM1,MOVD指令
CPM1A-AD041的外部輸入電流和電壓信號要如何接線?
電壓輸入:把外部的輸入正信號接V IN,負信號接com端;
電流輸入:把模塊上V IN和I IN的端子短接后接輸入正信號,負信號接com端。
CPM1A-MAD02-CH的參數應該怎么設置?
在n+1通道(n為分配給CPU單元或前一個擴展單元的Zui后一個輸出通道)的每個位對應的作用按照如下表分配,在量程對應的位是設定輸入輸出的量程范圍,在啟動位和平均值對應的位是設定該功能使用與否,例如4路輸入1路輸出全用4-20ma,平均值功能不用,就在N+1通道設置C3FF HEX就可以了。
CP1H-X□40D□-□的型號是如何定義的?
歐姆龍PLCMOVD指令的解釋
舉例說明如下:
S:200CH為傳送源地址,初始值為#ABCD(十六進制)。
D:300CH為傳送目標地址,初始值為#0000(十六進制)。
例1:D300為#0211:
從左往右解釋:
2表示傳送到目標字以位2開始(即8-11位)。
1表示傳送位數2位。
1表示傳送源字以位1開始(即4-7位)。
程序執行后,300CH中的值為#BC00。
例2:D300為#0230:
從左往右解釋:
2表示傳送到目標字以位2開始(即8-11位)。
3表示傳送位數4位。
0表示傳送源字以位0開始(即0-3位)。
程序執行后,300CH中的值為#CDAB。
CPM2A-30CDR-A配CPM1A-AD041和CPM1A-20EDR1地址是如何分配的?
CX-Programmer下傳程序的時提示UM區被保護,如何處理?
① 新建PLC程序時,在設備型號后的設定中選中了文件內存只讀,只要把文件內存只讀的鉤去掉即可;
② 詢問CPU型號:
a.CPM系列,DM 6602設為了×××1,可以在編程模式中將DM6602設為×××0后斷電上電即可;
b.C200Ha或CQM1系列,CPU蓋板下的開關中的DIP-1打在了On上,斷電將DIP-1打為Off上電即可;
c.CP/CJ/CS系列,如果CPU被加過寫保護密碼,需要先釋放密碼,CPU蓋板下的開關中的DIP-1打在了On上,斷電將DIP-1打為Off上電即可。
在輸入模擬量數據后,如果要把數據定標成帶小數點的數據,可以怎么做?
兩種辦法,一是把定標的結果數據放大10的N次方來得出小數點,例如需要2位小數,例如把0-0FA0的輸入定標成0-10.00V的BCD碼,帶兩位小數,那就當成0-1000來定標。如果是CP1H或CQM1H那還有一種方法,就是如果把源數據轉成浮點數來做浮點運算,也能做到,但因為CPM系列的PLC不支持浮點數,所以不能用這個方法。
4-20ma模擬量輸入的時候,輸入信號為4ma,但輸入通道的數據在0,65535兩個值跳,這是正常的嗎?實際使用中如果不能有這樣的數據怎么辦?
65535的16進制其實是FFFF,因為PLC是用二進制補碼表示負數的,其實這個數據是代表-1,也就是模擬量輸入在0到-1之間跳動,是屬于正常的。如果處理跳變的現象,不要直接用輸入通道的數據,可以把這個數據傳送到另一個中間通道后再使用,之前用一條CPS比較指令判斷輸入信號是否是負的,如果是負的,就不傳送輸入通道數據而傳送0到這個中間通道,把信號作為0來處理
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684