momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
楼主  发表于: 2018-01-31 16:46
     我IF迴圈的X0條件已經OFF了 , 可是迴圈裡的TC0卻一直ON著
 請問該如何在X0 OFF的狀況下讓TC0 OFF呢?


IF X0 THEN ; 


OUT_T (NOT TS1 , TC0 , K50) ;  <----TC0 ON之後關掉X0仍無法OFF


OUT (TS0 , Y0) ;


OUT_T (Y0 , TC1 , K50) ; END_IF ;




momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
1楼  发表于: 2018-01-31 17:38
加了 RST 後卻變成無法 ON 了

我的寫法錯誤嗎 ?

請指導  謝謝 ! !



momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
2楼  发表于: 2018-02-01 08:53
學習了

感謝 zhouyingcoli   咗臉ヅ微笑ぺ   兩位指導
momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
3楼  发表于: 2018-02-01 10:31
想再請教若是要使用ST語法達到梯型圖 MC MCR的功能該用什麼指令呢 ?

就是一跳脫迴圈後迴圈內的輸出皆變為無效這樣 , 不需另外寫RST程式

謝謝 ! !
momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
4楼  发表于: 2018-02-01 11:38
引用
引用第7楼zhouyingcoli于2018-02-01 11:24发表的  :
MC(X000,0,M100);
Y000:= X001;
Y001:= X002;
MCR(TRUE,0);
这样不需要rst


感謝您 , 因為昨天才開始接觸ST語法

今天看了一個早上才發現很多LD的語法也和ST共用

本來一直以為ST是捨棄LD偏向C語言

現在發現我的理解錯誤了

感謝 zhouyingcoli 您的指導 , 謝謝 ! !
momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
5楼  发表于: 2018-02-01 13:08
引用
引用第9楼zhouyingcoli于2018-02-01 11:58发表的  :
if   相当于自锁
if   else   相当于点动
这和梯形图有所不同


好的 , 我現在大概已經了解如何運用ST了 , 謝謝 ! !
momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
6楼  发表于: 2018-02-01 16:33


又遇到問題了...

D8340 與 -100000 比較時出現編譯錯誤 , 與-10000 比較時可編譯成功

因此看起來應該是要用DWord來比較的問題

可是手冊找遍了都沒看到相關的說明 , 只好又上來求救了...


momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
7楼  发表于: 2018-02-02 13:23
引用
引用第13楼zhouyingcoli于2018-02-02 12:06发表的  :
16位和32位问题,要用数据类型转换函数转换
int_to_dint(d8340);


請問這樣的寫法是否和用DMOV是一樣的意思 ?

我後來是直接用DMOV到自定義的暫存器去處理

**剛剛測試了發現POS和D500執行的還是16位元的資料 , 何解 ?

  D100和POS應該值要相同不是嗎 ?

***找到了手冊的說明 , 看起來似乎只是把16位元的值放到32位元的暫存器 , 所以依然是只有16位元的值 ?


[ 此帖被momotaro在2018-02-02 14:55重新编辑 ]