一点背景:我正在编写一个Visual Basic应用程序。它将连接到欧姆龙可编程逻辑控制器(PLC)。
当我从PLC读取数据时,它们是WORD(16位)。然而,PLC程序员需要有一个双字(32位)的大数字(大于16位可以容纳)。我需要能够在屏幕上显示该号码。如上所述,我从PLC读取为WORD。所以我可以进行2次读取以获得2个单词。但它们是分开的。
这就是它:我需要在屏幕上显示120,000(VB应用程序)。在PLC上,我读了2个字(以位形式): Word#1:1101 0100 1100 0000(无符号,等于54464)
Word#2:0000 0000 0000 0001
我需要把这些放在一起:0000 0000 0000 0001 1101 0100 1100 0000 = 120,000
Visual Basic中是否有内置函数将这两个16位字合并为一个双字?如果是这样的话是什么?
或者我是否必须编写一个函数将这两个值放在一起? 或者有人做过这样的事情,可以为我提供一些信息吗?
答案 0 :(得分:2)
我找到了<<和>>操作数。他们左右移位。所以我使用公式(Word2<< 16)来生成Word2的值。然后添加了Word1的值。
答案 1 :(得分:0)
在VBA中,如果要将两个字符串连接在一起,则只需使用&
运算符即可。例如:
Dim TempCombinedWord as String
TempCombinedWord = FirstWord & LastWord
如果FirstWord
包含 快乐 且LastWord
包含 TreeFriends 。然后,TempCombinedWord
将包含 HappyTreeFriends 。