登录
首页 电脑编程
回帖 发帖
正文

主题:大家好,我用VB编写控制件和FX1N-24MT通讯

点击:6725 回复:11

大家好,我用VB编写控制件和FX1N-24MT通讯,
Private Sub Command1_Click()
Form1.MSComm1.Output = "02110F6043412CDAB0349"
End Sub
向D123开始的两个存储器中写入1234,ABCD
但没有成功,各位指教。
03-01-20 18:36
M
03-01-28 16:07
应为:Form1.MSComm1.Output=chr(2)+"......"+chr(3)+"XX"
03-03-04 22:18
我返回一串汉字
03-06-26 10:37
可能还是格式的问题,比如是否ASCII码?是什么校验?返回的数据如何分解等等
03-06-26 16:50
有人返回过汉字吗,怎么解决,
sc-09 -----fx
03-07-03 08:54
改为16进制发送就可以了
03-07-03 11:43
把程式發上來好嗎?
我也編過一個,讀D128數據的,但也不成功
 Private Sub Form_Load()
   MSComm1.ComPort=1
   MSComm1.Settings="9600,N,8,1"
 End Sub
 Private Sub Command1_Click()
   MSComm1.PortOpen=True
   MSComm1.Inputlen=0
   SendCom$=Chr(5)+"01FFWR0D012801"+Chr(13)+Chr(10)
   MSComm1.Output=SendCom  '向PLC發出讀取D0數據命令字符串
   DoEvents
   RdStr$=MSComm1.Input    '接收PLC發回數據
   Rvd$=Mid(RdStr,1,5)    
   If Rvd=Chr(2)+"01FF" Then '是否接收到
      ACKStr$=Chr(6)+"01FF"
      MSComm1.Output=ACKStr
      RdStr=Val("&H"+Trim(Mid(RdStr,6,4))) '取出D0數據
      Label1.Caption=RdStr
      Msgbox "讀取正確",16
   Else
      Msgbox "讀取錯誤!",16
   End If
 End Sub
03-10-28 11:44
应为: MSComm1.Settings = "9600,e,7,1"
MSComm1.InputMode = comInputModeText
凡返回汉字的都是将字符位设置成8位有关,ASCII码的值是0-127,用7位字符位设置.
03-10-28 15:08
从PLC编程口通讯,写D123=1234h,D124=ABCDh时,发向PLC的命令串如下(去掉空格):
" 1 10F6 04 3412CDAB 49"
起始符:=Chr(02)/写入指令:1/D123地址:10F6/操作字节数:04/数据:3412CDAB/结束符:=Chr(03)/校验和:2D
顶楼的错误是把ASCII控制码值Chr(02)和Chr(03)理解成字符串"02"和"03",真正的码串为:
"110F6043412CDAB49"
03-10-31 09:42

上一页下一页

工控新闻

更多新闻资讯