郁晓丹
级别: 探索解密
精华主题: 0
发帖数量: 13 个
工控威望: 138 点
下载积分: 1116 分
在线时间: 17(小时)
注册时间: 2013-03-23
最后登录: 2023-07-17
查看郁晓丹的 主题 / 回贴
楼主  发表于: 2014-06-29 10:11
如果D0是5、D1是220十进制数
我想先用程序变成16进制的5、DC
然后再并到一寄存器里面5DC,这样可以吗
请DX帮帮忙
vdadiv
级别: 略有小成
精华主题: 0
发帖数量: 111 个
工控威望: 226 点
下载积分: 70949 分
在线时间: 256(小时)
注册时间: 2013-03-31
最后登录: 2024-05-10
查看vdadiv的 主题 / 回贴
1楼  发表于: 2014-06-29 11:35
16进制的5DC=十进制1500
16进制->十进制
5DC=5乘以16的2次方+D乘以16的1次方+C乘以16的0次方=1500
并到一寄存器里面5DC=1500
不知這個值是不是你要的?
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1276 个
工控威望: 6107 点
下载积分: 52046 分
在线时间: 1120(小时)
注册时间: 2012-04-24
最后登录: 2024-03-06
查看john42tw的 主题 / 回贴
2楼  发表于: 2014-06-30 09:38
引用
引用楼主郁晓丹于2014-06-29 10:11发表的 三菱PLC寄存器 :
如果D0是5、D1是220十进制数
我想先用程序变成16进制的5、DC
然后再并到一寄存器里面5DC,这样可以吗
请DX帮帮忙


首先要先了接 PLC 寄存器資料儲存方式
它是以16位元 2進制儲存 以十進位顯示


          上位元         下位元              
D0 = 5  = 0000  0000       0000  0101
16進制       0         0            0        5

D1=220 =0000  0000       1101  1100
16進制       0         0             D       C

接著看你需要截哪部分資料 選擇適當指令拆解結合

如果只是需要 D0  D1  下位元合併
其中的一種方法  (上位元確定為 0 )

1.將D0 左旋 8個位元
  -----------[RCL D0]       D0= 0000  0101  0000  0000

2. 將D0 與D1 相加
   ------------[ADD  D0 D1  D2]

D0 = 0000  0101   0000  0000  
D1=  0000  0000   1101  1100
------------------------------------------
D2=  0000  0101   1101  1100
            0         5        D       C