vb6.0用ppi协议怎么让s7-200的q0.1或q0.0置1 点击:5213 | 回复:60



zhzhang9756

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:76
  • 注册:2017年1月22日
发表于:2017-02-06 23:50:17
楼主
求助帖15分-未结帖

vb6.0或vba用ppi协议怎么让s7-200的q0.1或q0.0置1,具体怎么写?

===================================

更新,谢谢楼下各位大侠们的回复,问题已经解决。在这留个记号,给有同样疑问的朋友们,以下是按PPI协议编写的一小段VBA程序,是把数据写入QB0存储器,使Q0.7~Q0.0口得到不同的状态。至于怎么从S7-200里读数据,网上有很多介绍的,百度一下即可。在楼下我也转载一些我从网上查到的资料供大家参考。(以下程序用S7-200仿真模拟软件\IASIMU107B测试过,能正常使用,但还没有在S7-200上测试,等测试完如有变化再更新):


Private Sub Q00_Click()
Q0_Value = &H1    ‘写给像我一样的PLC菜鸟:&H1是16进制的1,转换成八位二进制就是00000001,这是让Q 0.0=1;如果让Q0.1=1,则=&H2(八位二进制00000010);让Q0.2=1,则=&H4(八位二进制00000100);让Q0.1和Q0.0同时=1,则=&H3(八位二进制00000011);这个值可以是&H0~&HFF中的任意一个值,使Q0.7~Q0.0得到得到不同的状态

Write_Q0 (Q0_Value)
End Sub

Sub Write_Q0(ByRef Q0_Value)

Dim str_write(0 To 37) As Byte
Dim str_val(0 To 5) As Byte
Dim haha As Byte
Dim i As Integer
Dim Temp_FCS As Variant

MSComm1.RThreshold = 24

str_write(0) = &H68
str_write(1) = &H20
str_write(2) = &H20
str_write(3) = &H68
str_write(4) = &H2
str_write(5) = &H0
str_write(6) = &H7C
str_write(7) = &H32
str_write(8) = &H1
str_write(9) = &H0
str_write(10) = &H0
str_write(11) = &H0
str_write(12) = &H0
str_write(13) = &H0
str_write(14) = &HE
str_write(15) = &H0
str_write(16) = &H5
str_write(17) = &H5
str_write(18) = &H1
str_write(19) = &H12
str_write(20) = &HA
str_write(21) = &H10
str_write(22) = &H2
str_write(23) = &H0
str_write(24) = &H1
str_write(25) = &H0
str_write(26) = &H1
str_write(27) = &H82
str_write(28) = &H0
str_write(29) = &H0
str_write(30) = &H0 ' 如果是改写Q0.x,这个地方就=&H0;如果是改写Q1.x,这个地方就是=&H8
str_write(31) = &H0
str_write(32) = &H4
str_write(33) = &H0
str_write(34) = &H8

str_write(35) = Q0_Value  'QB的值,也就是Q0.x或Q1.x的状态


For i = 4 To 35
    Temp_FCS = Temp_FCS + str_write(i)
    Next
str_write(36) = Temp_FCS Mod 256
str_write(37) = &H16
MSComm1.Output = str_write
Sleep (50)
str_val(0) = &H10
str_val(1) = &H2
str_val(2) = &H0
str_val(3) = &H5C
str_val(4) = &H5E
str_val(5) = &H16

MSComm1.Output = str_val
End Sub


Private Sub UserForm_Initialize()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,e,8,1"
MSComm1.InputLen = 0
MSComm1.RThreshold = 24
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
End Sub



楼主最近还看过



亲爱的,对不起

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 74回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2016年8月02日
发表于:2017-04-27 22:17:47
21楼

这个问题非常好,值得学习

zyuanlong11

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 210回
  • 年度积分:5
  • 历史总积分:378
  • 注册:2010年11月10日
发表于:2017-05-30 10:36:14
22楼

顶111111111

wokkk777f

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 54回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2017年6月22日
发表于:2017-06-22 12:26:26
23楼

学习学习,看看大神们都怎么做。

迅景科技

  • 精华:0帖
  • 求助:2帖
  • 帖子:5帖 | 77回
  • 年度积分:14
  • 历史总积分:295
  • 注册:2016年6月26日
发表于:2017-07-20 11:27:49
24楼

谢谢你,分享下你的好东西,学习学习好东西

熊熊548

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 1132回
  • 年度积分:0
  • 历史总积分:1298
  • 注册:2008年2月07日
发表于:2017-08-14 09:29:52
25楼

这个不错,对于我们菜鸟很有帮助

gmb

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 25回
  • 年度积分:0
  • 历史总积分:230
  • 注册:2017年9月15日
发表于:2017-09-15 14:54:26
26楼

感谢楼主的分享!

没有积分

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 119回
  • 年度积分:0
  • 历史总积分:159
  • 注册:2017年10月06日
发表于:2017-10-07 16:36:54
27楼

可以的,可以的,楼主很有想法嘛,厉害的

沉梦昂志一

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 26回
  • 年度积分:0
  • 历史总积分:835
  • 注册:2017年10月14日
发表于:2017-10-26 17:02:14
28楼

大哥,小弟也想学西门子通讯这一块的编程知识,给介绍下学习方法吧!

kellychenjf000

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 98回
  • 年度积分:0
  • 历史总积分:88
  • 注册:2014年6月30日
发表于:2017-11-01 07:52:47
29楼

自由口通信!用PPI 干什么啊 …………

熊熊548

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 1132回
  • 年度积分:0
  • 历史总积分:1298
  • 注册:2008年2月07日
发表于:2017-11-16 11:59:59
30楼

牛逼,学习一下,收藏了

嘿丶好玩

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 16回
  • 年度积分:0
  • 历史总积分:101
  • 注册:2017年12月10日
发表于:2017-12-10 23:37:38
31楼

悄悄的学习中

CHNlyt

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 100回
  • 年度积分:0
  • 历史总积分:191
  • 注册:2014年10月25日
发表于:2017-12-11 00:41:17
32楼

谢谢楼主,楼主辛苦了

-K

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 91回
  • 年度积分:0
  • 历史总积分:99
  • 注册:2017年12月12日
发表于:2017-12-12 16:10:01
33楼

楼主强大 新人学习学习  谢谢楼主

你懂的

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 125回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2013年4月09日
发表于:2017-12-15 11:10:48
34楼

学习学习下

半成品

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 97回
  • 年度积分:0
  • 历史总积分:108
  • 注册:2017年10月22日
发表于:2017-12-21 14:19:27
35楼


引用 CHNlyt 的回复内容: 谢谢楼主,楼主辛苦了


HJ小杰

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 151回
  • 年度积分:0
  • 历史总积分:94
  • 注册:2017年12月25日
发表于:2017-12-26 09:30:52
36楼

不错的东西,支持一下顶

hlpro

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 29回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年3月09日
发表于:2017-12-26 18:14:48
37楼

很不错, 谢谢楼主,楼主辛苦了

KBS

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 74回
  • 年度积分:100
  • 历史总积分:226
  • 注册:2017年12月22日
发表于:2018-02-23 17:33:57
38楼

迷茫呀,刚学习这个,真是不懂的说

i小六

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 78回
  • 年度积分:0
  • 历史总积分:125
  • 注册:2017年5月09日
发表于:2018-02-24 10:51:07
39楼

感谢分享,谢谢!很有帮助!!

liber798

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 113回
  • 年度积分:0
  • 历史总积分:97
  • 注册:2013年6月06日
发表于:2018-02-25 09:06:47
40楼

10楼大神,赞一个,很详细。


热门招聘
相关主题

官方公众号

智造工程师