技术论坛

 【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

返回主题列表
作者 主题
菲戈
至圣

经验值: 28599
发帖数: 5906
精华帖: 61
楼主    2019-08-14 12:06:38
主题:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯 精华帖 

       好像忽然间周围做上位机软件的都用上了C#开发,年初的时候自己也买了一本书,不过可惜又一次《从入门到放弃》哈哈。主要是没遇到什么项目非得用C#,熟悉的VB暂时都能应付,所以学习的热情就没有了。VB被称为最低级的编程语言,程序猿们基本都很鄙视这种语言。在他们的言语里流露出什么执行效率太低各种受限的样子。咱不懂咱也不敢问。自己的理解C++好比1500那么VB那就好比是个smart。(C#可能是个1200)。我们这些攻城狮用上高级语言基本也都是小应用,所以Smart这个级别基本足够,太复杂的还是交给程序猿吧。所以我一直习惯用VB开发小程序,相比C++快多了特别开发桌面窗口应用。前些天论坛看到大家都在用C#和smart做通讯,今天趁空闲时间我尝试了用VB做了个Demo和smart做通讯,还是觉得很方便。所以VB还未被淘汰,VB还能战!下面是Demo的流程,希望对有大家有所帮助。另外如果有其他问题也欢迎交流!     

     先说说我的开发环境 VS2017,库文件是群友提供的。看介绍是这是GitHub上的一个开源代码,而且还还在持续更新!https://github.com/S7NetPlus/s7netplus

S7.NET说明书.pdf

S7.Net.dll.zip


新建一个VB桌面应用后,首先引用DLL文件。


设计一个简单的窗口,我的smart里面连接了一个伺服。所以我设计了一个简单的伺服调试窗口,主要是显示位置和速度,然后轴使能,正向连续移动和负向连续移动。

下面设计代码,导入S7.NET命名空间。申明一个PLC类型的变量。SmartPLC使用S71200类型,设置好smart的IP地址。就可以打开连接了,使用OpenAsync()异步通讯连接PLC,如果用Open打开需要考虑到冲突。

设计一个Timer定时器循环读取当前位置速度,还有伺服轴使能状态。注意Read读到的结构是一个Uint数据类型,需要转换成INTC#就比较方便。而VB我用了BitConverter函数转换。如果你有更方便的方法也可以交流一下。轴当前使能因为我的PN伺服 我读的是Input信号。使用BIT类型读取,实际是以8个BIT的BitArray数据类型读取。


三个按钮:使能按钮做成置位取反方式。JOG移动按钮做成点动方式,都是直接写入的M位

打开From开始打开PLC,如果正常的话,就打开Timer定时读取状态。From关闭PLC

最后运行程序,就能操作伺服啦。

咋样VB还是很方便的,而且代码大家应该都一看就明白。如果自己没有HMI需要测试smart的时候,自己写个HMI也很很容易的,到时候找些仪表按钮控件。做个好看的界面也是分分钟的事儿!来吧觉得有用的就点赞吧


欢迎交流,QQ:2301013064 邮箱:feige6@139.com
lf184452
侠圣

经验值: 2440
发帖数: 467
精华帖: 6
6楼    2019-08-15 13:58:47
主题:回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

最近用VB.NET做的小产线数据采集防错系统,三天时间完成。



Laohuai
至圣

经验值: 17410
发帖数: 6227
精华帖: 18
7楼    2019-08-15 16:42:35
主题:回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

安徽人民发来贺电,恭喜大神!

freeshift
侠士

经验值: 1049
发帖数: 17
精华帖: 0
8楼    2019-08-16 09:58:53
主题:回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

谢谢分享,这个值得好好研究一下!

刚刚入门
至圣

经验值: 12686
发帖数: 2083
精华帖: 23
9楼    2019-08-16 13:00:22
主题:回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

菲版很厉害啊,数控、PLC、运动控制、高级语言都玩得溜,必须点赞!

fddasa
游民

经验值: 148
发帖数: 14
精华帖: 0
10楼    2019-08-16 22:48:00
主题:回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

牛B吊炸天

fdd
永远不变
侠客

经验值: 847
发帖数: 100
精华帖: 1
11楼    2019-08-17 21:54:58
主题:回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

厉害了,必须点赞

每天一小步,成长一大步
lksea
游民

经验值: 146
发帖数: 18
精华帖: 0
12楼    2019-08-19 10:51:16
主题:回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

谢谢菲戈大大的分享,想问一下,如果使用excel VBA的引用功能不知道能不能使用S7.net.dll呢,这样Excel就可以直接读写plc的数据了。

123_123
奇侠

经验值: 9560
发帖数: 2050
精华帖: 3
15楼    2019-08-25 22:28:10
主题:回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯

谢谢分享,对VB小有了解

WOWUWUWU
至圣

经验值: 10349
发帖数: 1791
精华帖: 0
16楼    2019-08-26 14:53:48
主题:【故事】回复:【征文】VB还未淘汰!VB使用S7.NET与smart200通讯
谢谢,很好
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。