你现在位置:首页>技术论文>数据通讯>正文
一个关于vb和三菱plc的通讯问题
日期:2006-4-4 0:31:33 来源:本站整理  
点击: 作者:未知
点击【】放大字体.

一个关于vb和三菱plc的通讯问题

WW.W_PLC※JS_C,OM-PL,C-技.术_网

做了一个vb和三菱的通讯程序
WW.W_PLCJS_COM-PLC-技.术_网

  大部分是好的
P.L.C.技.术.网——可编程控制器技术门户

  其中有一部分是每隔0.5秒做一次针对大概几十个点的读出(这些点有
WWW_PL※CJS_COM-PLC-技.术_网

  字也有位),但有时候会出现不能读出也就是显示的数字不随着plc
WWW.PLCJS.COM——可编程控制器技术门户

  内点的改变而改变,这种现象有时出现有时不出现
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  这种方法的实现是用timer来实现的
WW.W_PLC※JS_C,OM-PL,C-技.术_网

  如果把几十个点的个数减少为一半左右这种现象就不会出现
W1WW_P4LCJS_COM-PLC-技.术_网

  请问怎么解决
WWW.PLCJS.COM——可编程控制器技术门户

  非常感谢
——可——编——程——控-制-器-技——术——门——户

以下是对《一个关于vb和三菱plc的通讯问题》的回复:

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

匿名回复:

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    使用通讯控件返回的串口的状态,检测串口存储区的大小,作一下改写。
WWW.PLCJS.COM——可编程控制器技术门户

匿名回复:
WWW_P※LCJS_COM-PLC-)技.术_网

    可以说详细一点吗
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  我也想到可能是串口存储区的问题
——可——编——程——控-制-器-技——术——门——户

  可是怎么检测,怎么改写我不太明白
WWW_PLCJS_COM-PLC-技.术_网

  非常感谢
plcjs.技.术_网

匿名回复:
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    是不是妳0.5秒的循環周期太快,改成0.8或1秒看一下,如果還是不行就肯是緩沖沒清空.
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

匿名回复:
WWW_PL※CJS_COM-PLC-技.术_网

    是这样
WWW.PLCJS.COM——可编程控制器技术门户

  由于有很多个点要扫描
——可——编——程——控-制-器-技——术——门——户

  我是每一个开始扫描的时候都先对缓冲清零了
P.L.C.技.术.网——可编程控制器技术门户

  1秒也试过
WWW_PLC※JS_COM-PmLC-技.术_网

  还是这样
WW.W_PLC※JS_C,OM-PL,C-技.术_网

  不然把程序拿上来看一下,很简单的
WWW_PLCJS_COM-PLC-技.术_网

  Private Sub Timer1_Timer()
——可——编——程——控-制-器-技——术——门——户

  Dim pc_read11 As String
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  Dim timwr11 As Single
WWW_PLCJS_COM-PLC-技.术_网

  Dim A As String
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  Dim B As String
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

  Dim C As String
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

  MSComm1.InBufferCount = 0
WW.W_PLCJS_COM-PLC-技.术_网

  MSComm1.OutBufferCount = 0
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  MSComm1.Output = Chr(5) + "00FFWR0D0120022E"
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  timwr11 = Timer
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

  Do
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

   If Timer > timwr11 + 0.1 Then: GoTo err_check11
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

  Loop Until MSComm1.InBufferCount = 16
WWW_PLCJS@_COM%-PLC-技.术_网

  pc_read11 = MSComm1.Input
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  If Mid(pc_read11, 1, 5) = Chr(2) + "00FF" Then
WWW.PLCJS.COM——可编程控制器技术门户

   A = Mid(pc_read11, 8, 2)
WWW_P※LCJS_COM-PLC-)技.术_网

   B = "&h" + A
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

   C = Val(B)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

   Text5.Text = C
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  Else
WW.W_PLCJS_COM-PLC-技.术_网

   MsgBox "传输错误!"
WWW_PL※CJS_COM-PLC-技.术_网

  End If
WWcW_PLCJS_COM-PLC-技.术_网

  err_check11:
WWW_PL※CJS_COM-PLC-技.术_网

   pc_read11 = MSComm1.Input
W1WW_P4LCJS_COM-PLC-技.术_网

  然后还有若干个类似的通讯命令
WWW.PLCJS.COM——可编程控制器技术门户

  在每个开始的时候都有
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  MSComm1.InBufferCount = 0
WWW.PLCJS.COM——可编程控制器技术门户

  MSComm1.OutBufferCount = 0
WWW_P※LCJS_CO※M-PLC-技-.术_网

  来清零呀
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

匿名回复:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    //----------------
WWW_PLC※JS_COM-PmLC-技.术_网

  如果把几十个点的个数减少为一半左右这种现象就不会出现
WWW_PL※CJS_COM-PLC-技.术_网

  //---------------
WWcW_PLCJS_COM-PLC-技.术_网

  給你一個簡單方法,分兩次讀,一次讀一半,看看是否可行.
WW.W_PLC※JS_C,OM-PL,C-技.术_网

匿名回复:
WWW_P※LCJS_CO※M-PLC-技-.术_网

    我现在用vb实现计算机和LG的PLC的串口通信,但是不知道为什么一点反映都没有,我考虑了半天,怎么也查不出毛病在什么地方,是不是在PLC上还要进行一番设置,我现在只是用VB编了个小程序,然后就接到PLC上,我是学生,没有经验,不知哪位高手能帮助一下,不盛感激! 共
plcjs.技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行