ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:18.65KB ,
资源ID:2927186      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2927186.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(台达PLC源码FORM VB60.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

台达PLC源码FORM VB60.docx

1、台达PLC源码FORM VB60Public str_out As StringDim setaddr As String, char As String, setad As StringDim dz As StringDim dz1 As StringPublic str As StringPrivate Sub COMBO1_Change()Select Case COMBO1.ListIndex Case Y dz1 = Right(COMBO1.Text, Len(COMBO1.Text) - 1) Case M dz1 = Right(COMBO1.Text, Len(COMBO1.

2、Text) - 1) Case T dz1 = Right(COMBO1.Text, Len(COMBO1.Text) - 1) Case C dz1 = Right(COMBO1.Text, Len(COMBO1.Text) - 1) Case S dz1 = Right(COMBO1.Text, Len(COMBO1.Text) - 1)End SelectEnd SubPrivate Sub Command1_Click() PLC运行停止按钮If MSComm1.PortOpen = False Then 如果串口未打开MSComm1.PortOpen = True 则打开串口End

3、IfSelect Case Command1.Caption 选择事件Case PLC RUNstr = 00050C30FF00 通讯字符串LRC = Chr_lrc(str) 计算lrc校验值stx = : 起始字符冒号str_out = stx + str + LRC + Chr$(13) + Chr$(10) 发送字符串内容MSComm1.Output = str_out 通过串口发送Command1.Caption = PLC STOP 按钮显示PLC STOP 等待下次按压此按钮Command1.BackColor = &HFF& 按钮背景颜色为红色Case PLC STOP 事件

4、PLC STOPstr = 00050C300000 通讯字符串LRC = Chr_lrc(str) 计算lrc校验值stx = : 起始字符冒号str_out = stx + str + LRC + Chr$(13) + Chr$(10) 发送的字符串MSComm1.Output = str_out 通过串口发送Command1.Caption = PLC RUN 按钮显示PLC RUN 等待下次按压此按钮Command1.BackColor = &HFF00& 按钮背景颜色为绿色End SelectEnd SubPrivate Sub Command2_Click() 写寄存器按钮stx

5、= : 起始字符为冒号a = Right(Text1.Text, Len(Text1.Text) - 1) a为需要写入寄存器的数据C = Text4.Text c为需写入数据的寄存器地址If Len(C) 1 Then SRDZ = Right(C, Len(C) - 1) 如果c的长度大于1,则输入地址srdz为去掉左边的一个字符后的字符 If Mid(Text4.Text, 2) = Then 如果地址文本框的第二个字符为空格,那么 MsgBox (请输入元件号!) 提示请输入元件号 Text4.SetFocus 光标移至文本框 Text4.SelStart = 1 光标在文本框第二个字

6、符处闪烁 Exit Sub Else If Val(SRDZ) 999 Then 如果输入地址SRDZ大于999则 MsgBox (元件地址超过限制!) 提示元件地址超过限制 Text4.SetFocus 光标移至文本框 Text4.SelStart = 1 光标在文本框第二字符处闪烁 Text4.SelLength = Len(C) 文本框字符长度为原长度 Exit Sub End If End IfD = Hex(SRDZ + 4096) 输入地址转换为十六进制数的台达PLC地址If Len(a) = 0 Then 如果写入寄存器的数值大于等于零 If Mid(a, 1) = Then 如

7、果写入的数值字符的第一位是空格 MsgBox (请输入数值!) 则提示请输入数值! Text1.SetFocus 光标移至文本框 Text1.SelStart = 1 光标在文本框第二位闪烁 Exit Sub Else If Option2.Value = True Then 如果选择十六进制数制 If Len(a) = 1 Then 且数值长度为1 a1 = 000 + a 那么,写入的数值为000加上输入的一位数据 Else If Len(a) = 2 Then 如果输入数据长度为2 a1 = 00 + a 则写入的数值为00加上输入的两位数据 Else If Len(a) = 3 The

8、n 如果输入数据长度为3 a1 = 0 + a 则写入的数值为0加上输入的三位数据 Else If Len(a) = 4 Then 如果输入数据长度为4 a1 = a 则写入的数值为输入的数据 End If End If End If End If Else 如果选择十进制数制 b1 = Hex(a) 那么,直接将输入的数据转换为十六进制数 If Len(b1) = 1 Then 如果输入一位十六进制数 a1 = 000 + b1 那么,写入的数值为000加上输入的一位十六进制数 Else If Len(b1) = 2 Then 如果输入的数据长度为2 a1 = 00 + b1 那么,写入的数

9、值为00加上输入的两位十六进制数 Else If Len(b1) = 3 Then 如果输入的数据长度为3 a1 = 0 + b1 那么写入的数值为0加上输入的一位十六进制数 Else If Len(b1) = 4 Then 如果输入的数据长度为4 a1 = b1 那么写入的数值为输入的数据 End If End If End If End If End If If Val(a) 65535 Then 如果输入的数据大于65535 MsgBox (设值超过限制!) 则提示设值超过限制 Text1.SetFocus 光标移至文本框 Text1.SelStart = 1 光标在文本框第二个字符处闪

10、烁 Text1.SelLength = Len(a) 文本框长度等于原长度 Exit Sub End If End If End If str = 0106 + D + a1 发送字符地址01命令06(写入)地址D数据a1LRC = Chr_lrc(str) 计算lrc校验值If Len(LRC) = 1 Then 如果lrc校验值为一位 LRC = 0 + LRC 则lrc校验值补零 Else LRC = LRC 否则校验值为计算值 End IfMSComm1.Output = stx + str + LRC + Chr$(13) + Chr$(10) 通过串口发送写入命令MSComm1.I

11、nBufferCount = 0End SubPrivate Sub Command3_Click() 读取暂存器按钮setaddr = Text2.Text 变量setaddr为文本text2的内容 If Len(setaddr) 1 Then setad = Right(setaddr, Len(setaddr) - 1) 如果文本内容长度大于1则setad的值为去掉最左边的字符 If Mid(Text2.Text, 2) = Then 如果文本的第二个字符为空格 MsgBox (请输入地址!) 则提示请输入地址 Text2.SetFocus 同时光标移至文本框 Text2.SelStar

12、t = 1 光标在第二个字符处闪烁 Exit Sub Else If Val(setad) 1300 Then 如果输入的地址大于1300,则 MsgBox (元件地址超出范围!) 提示元件地址超出范围 Text2.SetFocus 光标移至文本框 Text2.SelStart = 1 光标在第二个字符处闪烁 Text2.SelLength = Len(setaddr) 文本框的字符长度为原长度 Exit Sub End If End If FIRSTLOOP: MSComm1.InBufferCount = 0 串口输入缓冲器清零 MSComm1.OutBufferCount = 0 串口输

13、出缓冲器清零 stx = : 起始字符为冒号 a = Hex(setad + 4096) 将地址加上H1000,并转换为16进制数 str = 0103 + a + 0001 str为0103加地址加读取长度 LRC = Chr_lrc(str) 计算str的lrc校验值 MSComm1.Output = stx + str + LRC + Chr$(13) + Chr$(10) 串口发送 Tim = Timer Do If Timer Tim + 3 Then 如果通讯200毫秒以上,那么 If MsgBox(请检查通讯!, vbRetryCancel + vbCritical) = vbC

14、ancel Then 弹出子窗口提示请检查通讯 Exit Sub Else GoTo FIRSTLOOP End If End If Loop Until MSComm1.InBufferCount = 13 直到串口输入缓冲器字符长度等于13 SETIN = MSComm1.Input SETIN为串口输入缓冲器字符串 bh = Mid(SETIN, 8, 4) bh为回传数据的第八个字符开始的4个字符 If Option1.Value = True Then 如果选择为十进制数值模式则 hcsj = Val(&H + bh) 回传数据为数值 Text3.Text = K + CStr(hcsj) 文本框显示十进制K加读回的数据 Else Text3.Text = H + bh 否则,为16进制,文本框显示16进制H加数据 End IfEnd SubPrivate Sub Command4_Click() Call dizhi stx = : str = 0105 + dz1 + FF00 LRC = Chr_lrc(str) Text6.Text = dz1 If dzcw = True Then Exit Sub MSComm1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1