2025最新热门电视排行榜-2025最新上映电影-2025最新院线大片抢先看-2025最新在线观影网站-2048国产精品原创综合在线-23部人禽伦

緣分2013
級別: 探索解密
精華主題: 0
發帖數量: 12 個
工控威望: 145 點
下載積分: 392 分
在線時間: 37(小時)
注冊時間: 2013-06-26
最后登錄: 2019-08-22
查看緣分2013的 主題 / 回貼
樓主  發表于: 2013-10-08 20:11
RT,小弟由于剛接觸VB不久,用VB6.0與FX2N通訊,向PLC的D寫入值老是不對,不知道是不是格式不對,我是利用MSComm控件通訊的。。。outstring = Chr(&O2) + "1" + CStr(qiuhe) + "02" + CStr(xieru) + Chr(&O3) + hejiaoyan
zsm9614501
級別: 略有小成
精華主題: 0
發帖數量: 97 個
工控威望: 220 點
下載積分: 10690 分
在線時間: 128(小時)
注冊時間: 2012-03-31
最后登錄: 2025-06-05
查看zsm9614501的 主題 / 回貼
1樓  發表于: 2013-10-08 21:10
VB6.0與FX2N通訊連接,可以用三凌MX-COMPONENT中的通訊控件,很容易連接的
每天好心情
tk758
級別: 略有小成
精華主題: 0
發帖數量: 388 個
工控威望: 416 點
下載積分: 935 分
在線時間: 90(小時)
注冊時間: 2009-11-13
最后登錄: 2021-09-24
查看tk758的 主題 / 回貼
2樓  發表于: 2013-10-09 12:41
Private Sub Command1_Click()      '寫入D0=0
Dim Address As String
Dim SenData As String

MSComm1.Settings = "9600,E,7,1"              
MSComm1.InputMode = comInputModeText

Address = "1" + "1000" + "02" + "0000" + Chr(3)
SenData = Chr(2) & Address & SumChk(Address)
MSComm1.PortOpen = True
MSComm1.Output = SenData
End Sub

Private Function SumChk(Dats$) As String                  'CheckSum
    Dim i&
    Dim CHK&
    For i = 1 To Len(Dats)
        CHK = CHK + Asc(Mid(Dats, i, 1))
    Next i
    SumChk = Right(Hex$(CHK), 2)
End Function
緣分2013
級別: 探索解密
精華主題: 0
發帖數量: 12 個
工控威望: 145 點
下載積分: 392 分
在線時間: 37(小時)
注冊時間: 2013-06-26
最后登錄: 2019-08-22
查看緣分2013的 主題 / 回貼
3樓  發表于: 2013-10-09 15:38
回復3樓,為什么我把"0000"改成0001實際寫進去的數據是256,改成0002寫進去的數據是512,0000是需要寫進去的數據的16進制數據還是其他的關系?
tk758
級別: 略有小成
精華主題: 0
發帖數量: 388 個
工控威望: 416 點
下載積分: 935 分
在線時間: 90(小時)
注冊時間: 2009-11-13
最后登錄: 2021-09-24
查看tk758的 主題 / 回貼
4樓  發表于: 2013-10-10 07:49
寫入的數據16進制數據, 是先寫低字節, .再寫高字節.
因此如寫"1"進去PLC, 應寫成"0100", 寫"255"進去PLC, 應寫成"FF00"
緣分2013
級別: 探索解密
精華主題: 0
發帖數量: 12 個
工控威望: 145 點
下載積分: 392 分
在線時間: 37(小時)
注冊時間: 2013-06-26
最后登錄: 2019-08-22
查看緣分2013的 主題 / 回貼
5樓  發表于: 2013-10-10 17:13
謝謝你呀,昨天通過你這個代碼和我自己的結合找出了這個規律,現在還有個問題請教下,怎樣把動態的text.text賦給一個變量,意思就是通過一個函數比如說date(P),p是text的下標,然后把textp。text賦給一個變量,能實現嗎?
tk758
級別: 略有小成
精華主題: 0
發帖數量: 388 個
工控威望: 416 點
下載積分: 935 分
在線時間: 90(小時)
注冊時間: 2009-11-13
最后登錄: 2021-09-24
查看tk758的 主題 / 回貼
6樓  發表于: 2013-10-11 07:52
‘可用數組變量
Dim strText(10) As String

Private Sub Form_Load()
For i = 0 To 10
    strText(i) = Text1.Text & i
    List1.AddItem strText(i)
Next i

End Sub
緣分2013
級別: 探索解密
精華主題: 0
發帖數量: 12 個
工控威望: 145 點
下載積分: 392 分
在線時間: 37(小時)
注冊時間: 2013-06-26
最后登錄: 2019-08-22
查看緣分2013的 主題 / 回貼
7樓  發表于: 2013-10-11 15:25
嗯,真的非常感謝你呀,還有個問題困擾了我好久了
Private Sub Timer2_Timer()
MSComm1.InBufferCount = 0  '設置讀緩沖區為空
MSComm1.OutBufferCount = 0  '設置寫緩沖區為空
outstring1 = Chr(&O2) + "0" + "0080" + "02" + Chr(&O3) + SUM_check1("0080", "02")
MSComm1.Output = outstring1
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 8
End Sub
把這個放在timer事件里面進行掃描,但是我用其他按鈕的單擊事件比如說
MSComm1.Output = Chr(&O2) + "7" + "0008" + Chr(&O3) + SUM_check2(7, "0008")
經常出現timer事件卡死,不知道是不是在使用單擊事件的時候跟
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 8
產生死循環,但是沒有這個釋放控制權的又無法正常掃描狀態,指導下。。。

主站蜘蛛池模板: 亚洲丝袜一区二区 | 国产乱子夫妻xx黑人xyx真爽 | 日韩精品免费一区二区三区 | 国产网站免费视频 | 放荡的美妇在线播放 | 电影推荐 | 人人爱天天做夜夜爽2025 | 手机看片1024国产 | 欧美综合自拍亚洲综合网 | 成人午夜在线观看国产 | 欧美一区二区三区四区婷婷 | 国产亚洲人成在线播放 | 国产麻传媒精品国产v | 99热这里都是国产精品 | 婷婷中文视频在线 | 国产一区二区精品免费播放 | 一区二区三区四区在线视频 | 国产电影在线观看 | 成人国产精品高清 | 欧美日韩亚洲国产综合在线观 | 欧美日韩精品一区二区三区 | 精品蜜桃秘?一区二区三区 成人年鲁鲁在线观 | 黄一色片一网站一 | 国产亚洲91精品色在线 | 99国产精品国产精品九九 | 91精品国产福利尤物 | 亚洲午夜理论片在线观看 | 2025精品久 | 凌晨三点在线观看 | 亚洲无人区码卡二卡三卡四卡 | 欧美丝袜自拍制服另类 | 一区二区三区在线日 | 精品国产一区二区三区香 | 精品一区二区三区高清免费不 | 寡妇被折腾的死去活来 | 不卡在线播放中文字幕在线 | aⅴ天堂在线 | 亚洲+国产+激情 | 天天看片高清观看免费国产 | 亚洲欧美日韩另类国产第一 | 亚洲国产日韩a在线亚洲 |