870605
愛拼才會贏
級別: 論壇先鋒
|
(D)CMP(P) 比較 將兩源操作元件的數據作代數比較,結果送到目標元件中,決定目標元件的狀態。 源操作元件:K/H KnX KnY KnM KnS T C D V/Z 目標元件:Y M S 格式:LD X0 CMP(P) K100 C20 M0 X0由OFF到ON 時:當K100>C20當前值時,M0=1 當K100=C20當前值時,M1=1 當K100<C20當前值時,M2=1 當用連續方式執行CMP時,條件滿足時,每個掃描周期執行一次。 (D)ZMP(P) 區間比較 將一個數據與兩個源元件的數據區間作比較,結果送到目標元件中,決定目標元件的狀態。 源操作元件:K/H KnX KnY KnM KnS T C D V/Z 目標元件:Y M S 格式:LD X0 ZCP(P) K100 K120 C30 M3 X0由OFF到ON時: 當K100>C30當前值時,M3=1 當K100≤C30≥K120時,M4=1 當K120<C30當前值時,M5=1 當用連續方式執行ZCP時,條件滿足時,每個掃描周期執行一次。 (D)MOV(P) 傳送 將操作元件的數據傳送到目標元件中。 源操作元件:K/H KnX KnY KnM KnS T C D V/Z 目標元件:KnY KnM KnS T C D V/Z 格式:LD X0 MOV(P) K100 D10 當X0由OFF到ON時,將100 傳送到D10中 當用連續方式執行MOV時,條件滿足時,每個掃描周期執行一次。 對于32位數據用DMOV 傳送,用元件號相臨的兩元件組成元件對。元件對的首位用奇數、偶數均可,但為避免出錯,元件對的首位建議統一用偶數。 當傳送指令執行時,常數自動轉化成二進制數存入目標元件。 SMOV(P)移位傳送 將源元件的數據轉化為BCD碼,然后將BCD碼根據要求移位后,傳送到目標元件中。 源操作元件:K/H KnX KnY KnM KnS T C D V/Z 目標元件:KnY KnM KnS T C D V/Z m:K H K/H的取值范圍:1—4,即D1的值不可超過9999 n:K H 使用格式:如D1=1685 D2=0 LD X0 SMOV(P) D1 K4 K2 D2 K3 當X0由OFF到ON時:將D1=1685轉化為BCD 碼為0001 0110 1000 0101 D2=0 轉化為BCD碼為 0000 0000 0000 0000 再將D1的BCD碼從右起第4位開始的向右2位,移到D2 中右起第3位開始向右的2位,1位和第4位不變。此時D2為 0000 0001 0110 000 ,D2=160 當用連續方式執行SMOV時,條件滿足時,每個掃描周期執行一次。 (D)CML(P)取反傳送 將源元件內數據轉化為二進制數逐位取反(0→1 ,1→0),并傳送到指定目標元件。 源操作元件:K/H KnX KnY KnM KnS T C D V/Z 目標元件:KnY KnM KnS T C D V/Z 格式:如D0=11 LD X0 CML(P) D0 K1Y0 當X0由OFF到ON時:先把D0= 11轉化為二進制為 1 0 1 0, 然后取反為 0 1 0 1 則K1Y0的輸出為Y0=0,Y1=1,Y2=0,Y3=1 當用連續方式執行CML時,條件滿足時,每個掃描周期執行一次。 BMOV(P)塊傳送 從源操作元件開始的n個數據組成數據塊傳送到以目標元件開始的n個元件組成的數據塊。 源操作元件:KnX KnY KnM KnS T C D 文件寄存器 目標元件:KnY KnM KnS T C D n: K、H n≤512 使用格式:LD X0 BMOV(P) D5 D10 K3 D5→D10(1) D6→D11(2) D7→D12(3) BMOV(P) D5 D7 K3 D5→D7(3) D6→D8(2) D7→D9(1) BMOV(P) D20 D18 K3 D20→D18(1) D21→D19(2) D22→D20(3) 傳送順序是自動決定的,以防止源數據被這條指令傳送的其它數據沖掉。 當X0由OFF到ON時,按上述傳送當用連續方式執行BMOV時,條件滿足時,每個掃描周期執行一次。 當M8024=ON時,數據傳送方向反轉。 BMOV有訪問程序區中的文件寄存器(系統寄存器)的功能。(對FX系列而言,通過參數設置可把D1000以后的通用數據寄存器設為文件寄存器。當PLC從STOP→RUN時,程序存儲區的文件寄存器會自動被copy到RAM(程序寄存器)區中的文件寄存器中,除BMOV指令外其它指令用到的D1000后均指RAM中的文件寄存器。) FMOV(P) 多點傳送 將源元件中的數據傳送到以目標元件開始的n個元件中。 源操作元件:K/H knX KnY KnM KnS T C D V/Z 目標元件:KnY KnM KnS T C D n: K\H n≤512 ; 使用格式:LD X0 FMOV(P) K10 D0 K20 當X0由OFF到ON時:將源數據10傳送到從D0開始的20個元件中每個元件中的數據都為10。 當用連續方式執行FMOV時,條件滿足時,每個掃描周期執行一次。 如果元件號超出元件范圍,則數據只送到允許的范圍的元件內。 (D)XCH(P)交換 將源元件和目標元件內的數據互換。 操作元件:KnY KnM KnS T C D V/Z 目標元件:KnY KnM KnS T C D V/Z 使用格式:如D1=100 D2=20 LD X0 XCH(P) D1 D2 當X0有OFF到ON時:執行后D1=200 D2=100 注意:在連續執行方式XCH下,數據在每個掃描周期交換一次。 處理16位數據時當M8160置位時,而且源元件與目標元件為同一元件時,數據的高8位與低8位互換。 源元件與目標元件不為同一元件時,不執行XCH指令。 本指令也可處理32位數據,用DXCH。也可進行高低16位互換。 M8061置位時與(147、SWAP高低位互換指令功能相同。) 高低位互換具體不明??? (D)BCD(P)變換 將PLC 中的二進制數(在PLC中所有數據都以二進制數形式存在)變換成BCD碼輸出以驅動LED顯示器七段顯示。 源操作元件:KnX KnY KnM KnS T C D V/Z 目標元件:KnY KnM KnS T C D V/Z 數據范圍:0—9999或0--99999999 使用格式:如D10=17 LD X0 BCD D10 K2Y0 當X0由OFF到ON時: 先將17轉化為BCD 碼為 0001 0111 驅動Y7=0,Y6=0,Y5=0,Y4=1,Y3=0,Y2=1,Y1=1 Y0=1。 當用連續方式執行CML時,條件滿足時,每個掃描周期執行一次。 注意:處理16位時源數據不可超出0---9999,處理32位不可超過0—99999999。 一組BCD碼四位,只能表示一位十進制數,最大可變換9。即對于KnY0,不可能使Y0、Y1、Y2、Y3全置1。 (D)BIN(P)指令將源操作元件中的BCD碼轉化為二進制數據送到目標元件。常用于將BCD數字開關的設定值輸入到PLC中 操作元件:KnX KnY KnM KnS T C D V/Z 目標元件:KnY KnM KnS T C D V/Z 數據范圍:0—9999或0--99999999 使用格式:如X7=1,X6=0, X5=0,X4=0,X3=0,X2=1,X1=0,X0=1。 LD X0 BIN(P) K2X0 D10 當X0由OFF到ON時:K2X0組成的BCD碼為1000 0101,再將其轉化為二進制數存到D10,再轉化為十進制,即D10=86 當用連續方式執行BIN時,條件滿足時,每個掃描周期執行一次。 注意:一組K1X0只能表示一位十進制數,最大為9。即向目標元件送兩位數時要用兩組KnX |
|
---|---|---|
|