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


又遇到問題了...

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

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

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


zhouyingcoli
级别: 正式会员
精华主题: 0
发帖数量: 16 个
工控威望: 94 点
下载积分: 719 分
在线时间: 65(小时)
注册时间: 2018-01-23
最后登录: 2024-01-22
查看zhouyingcoli的 主题 / 回贴
13楼  发表于: 2018-02-02 12:06
16位和32位问题,要用数据类型转换函数转换
int_to_dint(d8340);
[ 此帖被zhouyingcoli在2018-02-02 12:56重新编辑 ]
momotaro
级别: 正式会员
精华主题: 0
发帖数量: 35 个
工控威望: 82 点
下载积分: 741 分
在线时间: 16(小时)
注册时间: 2018-01-31
最后登录: 2019-10-30
查看momotaro的 主题 / 回贴
14楼  发表于: 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重新编辑 ]
jonesony
级别: 探索解密
精华主题: 0
发帖数量: 66 个
工控威望: 113 点
下载积分: 1100 分
在线时间: 5(小时)
注册时间: 2018-03-01
最后登录: 2018-03-09
查看jonesony的 主题 / 回贴
15楼  发表于: 2018-03-05 14:14
st(ldf(TRUE,X0),TN0);
IF X0  THEN
    out_t(NOT TS1, TC0 ,50);
    out(TS0,Y0);
    out_t(Y0,TC1,50);
else
y0:=false;

    END_IF;
jonesony
级别: 探索解密
精华主题: 0
发帖数量: 66 个
工控威望: 113 点
下载积分: 1100 分
在线时间: 5(小时)
注册时间: 2018-03-01
最后登录: 2018-03-09
查看jonesony的 主题 / 回贴
16楼  发表于: 2018-03-06 10:36
rst(ldf(TRUE,X0),TN0);
IF X0  THEN
    out_t(NOT TS1, TC0 ,50);
    out(TS0,Y0);
    out_t(Y0,TC1,50);
else
y0:=false;

    END_IF;
jonesony
级别: 探索解密
精华主题: 0
发帖数量: 66 个
工控威望: 113 点
下载积分: 1100 分
在线时间: 5(小时)
注册时间: 2018-03-01
最后登录: 2018-03-09
查看jonesony的 主题 / 回贴
17楼  发表于: 2018-03-07 14:11
f语句一般转换为梯形图是跳转指令,所以有TC0会保持之前状态
  • «
  • 1
  • 2
  • »
  • Pages: 2/2     Go