當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC基礎(chǔ) >> PLC程序 >> PLC程序故障排除的一個小經(jīng)驗(yàn)
PLC程序故障排除的一個小經(jīng)驗(yàn)

看到三菱論壇里有網(wǎng)友發(fā)貼求助<寄存器不能清零,求助 >,大意是數(shù)據(jù)寄器在使用一段時間后會出現(xiàn)不能清零現(xiàn)象。換地址也不可以。為此將程序上傳請求幫助。

我打開程序查找該數(shù)據(jù)寄存器地址,第一地址為計(jì)數(shù)器賦值,采用加一指令,程序指令如下:ANDD<   D62   K999999999    /      DINCP         D660

另一個清零指令  LD    T66   MOVP   K0    D660   /  RST   D660

 上面的程序來看,是看不出多少問題,后面的RTS指令我估計(jì)是樓主沒辦法的情況下加上去,但是就這樣也是不能清零。

我發(fā)現(xiàn)一個問題就是:前面加一信號用了32位,這說明數(shù)據(jù)很大,應(yīng)該是大于32767.而后面清零指令只用了16位。也就是說清零只能清除16以下,大于32767的數(shù)據(jù)將不能清零。

為了證實(shí)我的想法。進(jìn)行模擬仿真。將D660賦值大于32767.為了調(diào)方便,做了一點(diǎn)小更改:LDP  X0    DMOV    K45000   D660   /   LD   X1   MOVP   K0   D660

按上述程序調(diào)試并清零,當(dāng)數(shù)據(jù)小于32767以下,也就是16位數(shù)據(jù)位程序能清零,當(dāng)把45000傳進(jìn)去以后,程序不能清零,且數(shù)據(jù)變?yōu)樨?fù)值。這就證實(shí)我了是論證,于是將清零程序改寫為32位  LD  X1     DMOVP   K0  D660

再進(jìn)行清零動作,OK

在程序編寫的時候,一定要注意32位和16位的區(qū)別,當(dāng)賦值大于32位時,清零同樣也要用32.否則只能清除16位以下數(shù)據(jù)。

作者:未知 點(diǎn)擊:705次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:PLC程序故障排除的一個小經(jīng)驗(yàn)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時支付,在此深表歉意,請《PLC程序故障排除的一個小經(jīng)驗(yàn)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

吳小姐 【求購】  粉碎機(jī)  2025-12-5
 【求購】  冶煉用的重...  2025-12-5
柳女士 【求購】  斷路器  2025-12-5
林志揚(yáng) 【求購】  無石棉墊片  2025-12-4
張一帆 【求購】  首件測試儀  2025-12-4
王飛 【求購】  gf流量計(jì)  2025-12-4
 【求購】  全自動印刷...  2025-12-4
 【求購】  LED屏  2025-12-3
VIP公司推薦