亚洲国产成人,色呦呦内射午夜,无码一级片,无码人妻少妇色欲AV一区二区

<samp id="jg8hh"></samp>

<p id="jg8hh"></p><delect id="jg8hh"><em id="jg8hh"><blockquote id="jg8hh"></blockquote></em></delect><acronym id="jg8hh"><dd id="jg8hh"></dd></acronym><button id="jg8hh"><dd id="jg8hh"><acronym id="jg8hh"></acronym></dd></button><samp id="jg8hh"><em id="jg8hh"><blockquote id="jg8hh"></blockquote></em></samp>

<p id="jg8hh"></p>

<samp id="jg8hh"><legend id="jg8hh"></legend></samp>
<samp id="jg8hh"><legend id="jg8hh"><samp id="jg8hh"></samp></legend></samp>

<samp id="jg8hh"></samp>

<p id="jg8hh"></p><acronym id="jg8hh"></acronym><p id="jg8hh"><dd id="jg8hh"><acronym id="jg8hh"></acronym></dd></p><p id="jg8hh"></p>

<p id="jg8hh"></p><delect id="jg8hh"><legend id="jg8hh"><var id="jg8hh"></var></legend></delect><button id="jg8hh"><listing id="jg8hh"><i id="jg8hh"></i></listing></button>
<delect id="jg8hh"><legend id="jg8hh"><var id="jg8hh"></var></legend></delect>

三菱PLC編程口的通訊協(xié)議

發(fā)布時間:2023-10-20
三菱plc編程口的通訊協(xié)議比較簡單,只有四個命令,即:
命令 命令碼 目標設備
device read cmd 0 x,y,m,s,t,c,d
device write cmd 1 x,y,m,s,t,c,d
force on cmd 7 x,y,m,s,t,c
force off cmd 8 x,y,m,s,t,c五個標示:
enq 05h 請求
ack 06h plc正確響應
nak 15h plc錯誤響應
stx 02h 報文開始
etx 03h 報文結束
使用累加方式的和校驗,幀格式如下:
stx cmd data ...... data etx sum(upper) sum(lower)
和校驗:
sum= cmd+„„+etx。 如sum=73h,sum=“73”。
1、device read(讀出軟設備狀態(tài)值)
計算機向plc發(fā)送:
始命令 首地址 位數(shù) 終和校驗
stx cmd group address bytes etx sum plc 返回
stx 1st data 2nd data ..... last data etx sum
2、device write(向plc 軟設備寫入值)
計算機向plc發(fā)送:
始命令 首地址 位數(shù) 數(shù)據(jù) 終和校驗
plc 返回
ack (06h) 接受正確
nak (15h) 接受錯誤
3、位設備強制置位/復位
force on 置位
始命令 地址 終和校驗
stx cmd address etx sum 02h 37h address 03h sum force off 復位
始 命令 地址 終 和校驗 stx cmd address etx sum 02h 38h address 03h sum plc 返回
ack(06h) 接受正確
nak(15h) 接受錯誤
以上可以看出,協(xié)議非常簡單,但是由于沒有寄存器類型信息,所以地址的計算十分關鍵,如d100和m100分別對應哪個地址呢?下面就是三菱fx系列plc地址對應表:
public const plc_d_base_address = 4096 =1000h
public const plc_d_special_base_address = 3584 =e00h
public const plc_y_group_base_address = 160 =a0h
public const plc_py_group_base_address = 672 =2a0h
public const plc_t_group_base_address = 192 =c0h
public const plc_ot_group_base_address = 704 =2c0h
public const plc_rt_group_base_address = 1216 =4c0h
public const plc_m_single_base_address = 2048(命令為7或8時) =800h
public const plc_m_group_base_address = 256 =100h
public const plc_pm_group_base_address = 768 =300h
public const plc_s_group_base_address = 0 =0h
public const plc_x_group_base_address = 128 =80h
public const plc_c_group_base_address = 448 =1c0h
public const plc_oc_group_base_address = 960 =3c0h
public const plc_rc_group_base_address = 1472 =5c0h
public const plc_tv_group_base_address = 2048 =800h
public const plc_cv16_group_base_address = 2560 =a00h
public const plc_cv32_group_base_address = 3072 =c00h
當我們用device read命令時,d100地址=100*2+4096;m100地址=100+256;不同的是d類型寄存器存放的是字,m寄存器存放的是位,同樣是讀兩個字節(jié),d100返回的就是plc中d100地址的值,m類型寄存器返回的是m100到m116的值。所以當我們用force on 命令時,m100寄存器地址=100+2048;
這也沒有什么復雜的,不是嗎?可是三菱公司好像不甘于如此,force on/off命令中地址排列與device read/write不同,是低位在前高位在后。如y20,地址是0510h,代碼中4個字節(jié)地址表示為:1005。(注意:y寄存器為八進制,如y20地址=16+1280=0510h) 其實一點技術含量都沒有,就是拐了幾個彎,偏偏很多時候又不都告訴你,讓人浪費不少時間。不廢話了,自己做個程序試試吧。
上一個:mt3608_(西安航天民芯)mt3608中文資料_價格_pdf手冊
下一個:5400轉(zhuǎn)和7200轉(zhuǎn)區(qū)別多大(5400轉(zhuǎn)和7200轉(zhuǎn)區(qū)別玩游戲)

普洱熟茶為何要離地發(fā)酵?冷知識,值得一看
北方地區(qū)防治天牛的措施
電腦硬盤怎樣裝在機箱里,請問機箱里面硬盤怎么放進去的
龍骨花的繁殖|龍骨花的種植方法
企業(yè)為什么必須要搭建網(wǎng)站?
app 定制開發(fā),該怎么操作?
三星眼球功能怎么使用,三星a9 sm9000護眼模式怎么設置
mate7很卡怎么解決(mate7好卡)
為什么電腦無法安裝win10(電腦為什么無法安裝win7系統(tǒng))
plc編程實例