上次跟大家介绍了一下上位机与三菱Q系列PLC通信的案例,大家可以通过点击这篇文章:上位机开发之三菱Q系列PLC通信实践(←戳这里) 今天以三菱FX3U PLC为例,跟大家介绍一下,如何实现上位机与其之间进行以太网通信,FX3U PLC默认是不带以太网的,如果需要与其进行通信,需要增加一个以太网模块,型号是FX3u-ENET-ADP. 1.PLC软件安装及配置 三菱FX系列PLC的编程软件使用GXWorks2,大家可以自行下载安装,也可以通过关注喜科堂上位机官方公众号——dotNet工控上位机,关…
经常关注我们公众号或者公开课的学员(如果还没有关注的话,左上角点击一波关注)应该知道,我们会经常使用西门子PLC,其实对于其他品牌的PLC,我们都会讲到,包括三菱.欧姆龙.基恩士.松下及国产台达.信捷等,之所以使用西门子PLC为例,一方面是因为学员当中使用西门子PLC居多,而且西门子的市场占有率也比较高,再者,我觉得做上位机开发,其实对PLC品牌并不太注重,你掌握了西门子PLC的上位机开发,其他品牌也都大同小异,只不过会存在一些规则和存储区的区别而已.今天就以三菱Q系列PLC为例,跟大家介绍一下…
写在前面: 就目前而言,在中国的工控市场上,西门子仍然占了很大的份额,因此对于上位机开发而言,经常会存在需要与西门子PLC进行通信的情况.然后对于西门子PLC来说,通信方式有很多,下面简单列举一下: (1)  S7通信:PLC作为服务器,上位机作为客户端 (2)  开放式TCP通信:PLC作为服务器,上位机作为客户端 (3)  开放式TCP通信:PLC作为客户端,上位机作为服务器 (4)   ModbusTCP通信:PLC作为服务器,上位机作为客户端 (5)   ModbusTCP通信:PLC作…
618来啦 亲们,腾讯课堂101机构打榜了,快来助力<新阁教育>,<免费赠送课程>! 1.手机QQ(微信请也来一遍)扫下方二维码↓,找到<新阁教育> 2.点击“支持”,记得获得免费课程,还有红包相送. 3.助力成功后可以邀请亲朋好友,共同学习. 感谢支持 据某份数据不完全统计,目前中国市场十大国际PLC品牌如下(避免争议,排名不分先后): 西门子.施耐德.欧姆龙.三菱.罗克韦尔.松下.ABB.倍福.艾默生.GE 再盘点一下中国市场十大国内PLC品牌: 和利时.台达.汇川…
说明:1.如果你会emWin话的,就可以轻松制作上位机.做些通信和控制类上位机,比使用C#之类的方便程度一点不差,而且你仅会C语言就可以.2.并且成功将emWin人性化,可以做些Windows系统上的小应用了,基本完全看不出是emWin做的,而且生成的软件很小.Win32 API编写的软件,最大的好处就是微软的各个系统版本都兼容,而且发布时软件比较小,仅仅一个exe小软件.3.无需用户自己编写USB BULK驱动程序,详情见教程中1.4小节说明即可.同时,上位机设计中需要用到的各种文档.软件.驱…
USBCAN使用手册 参见:https://blog.51cto.com/12572800/2062839 1. USB CAN软件安装与硬件接线 USB CAN是常用的CAN测试工具.它的软件资料存放在\\192.168.2.251\3.研发部\13.南翼测试组\USBCAN目录下. 安装好目录中的驱动和上位机软件,用USB线连接USB CAN和电脑.连接完毕后如图 1.1所示检查USB CAN的工作状态,绿灯表示设备准备就绪,红灯表示设备连接异常,可能没有正确安装驱动,需要检查接线和驱动.…
上一篇大致了解了一下单片机实际项目开发中上位机开发部分的内容以及VS下载与安装,按照编程惯例,接下来就是“Hello,World!” 1.新建C#项目工程 首先选择新建Windows窗体应用(.NET Framework),然后选择项目保存位置,填写项目名称,这里因为我们不需要用git进行版本管理,所以不用新建GIT存储库: 框架是指.net框架,4以及4以下的.NET框架可以在xp上运行,4以上可以在win7/8/10上运行,鉴于当前大多数操作系统都是win7或win10,选择4.5版本. 2…
1.当客户让你做个CS程序时,当你手上一穷二白,所有都要重复造轮,你是不是很烦. 2.但如果有一个通用的,快速开发框架,就可以把你从这些基础的工作解救出来,你专注做业务就好了. 3.本人其中一个项目的效果图 4.功能有很多,先列一些,后面想起来再加入,这个是我见过的最好用的快速开发平台,功能强大又不笨重,学习成本低,上手快,出活快,老板满意~~: 4.1.框架支持多种数据库sqlserver/ACCESS/oracle/sqlite4.2.自动升级功能4.3.支持插件式二次开发4.4.通用权限管…
此教程面向的读者:对医疗器械上位机编程有兴趣,或者急需了解医疗器械(尿常规.血液分析.生化.心电.B超等医疗下位仪器)的编程流程.编程细节的程序员. 1.得到仪器协议 当我们需要与医疗器械等下位机数据交互时,我们需要知道它用的是哪种协议,这样才能得到我们想要的数据.当然,没有协议,我们也能解析,在此步骤的弟三段中我将提到.得到协议后,我们将得到重要的几样东西,比如波特率.数据位.停止位等连接参数,是单工通信还是双工通信,以及数据传输协议,是否需要上位机响应才发送有效数据,现在一般机器使用HL7协…
使用的USB转CAN的设备是周立功的USBCAN-II,在购买的时候,会有上位机二次开发的库文件.例程和API文档等材料,可以参考. 1.库函数的调用 首先,把库函数文件都放在工作目录下.库函数文件总共有三个文件:ControlCAN.h.ControlCAN.lib.ControlCAN.dll和一个文件夹kerneldlls. VC调用动态库的方法 (1) 在扩展名为.CPP的文件中包含ControlCAN.h头文件.如:#include “ControlCAN.h”(2) 在工程的连接器设…
在单片机项目开发中,上位机也是一个很重要的部分,主要用于数据显示(波形.温度等).用户控制(LED,继电器等),下位机(单片机)与 上位机之间要进行数据通信的两种方式都是基于串口的: USB转串口 —— 上位机和下位机通过USB转串口连接线直接相连进行数据交互: 串口转WIFI(ESP8266) ——  上位机和下位机基于TCP/IP协议通过WIFI传输数据: 串口转蓝牙(HC-06)—— 不多用,暂不介绍: 上位机软软件开发主要包括以下两种: 1.Windows上位机(EXE可执行程序)  …
上一篇中我们完成了一个串口助手的雏形,实现了基本发送和接收字符串功能,并将打开/关闭串口进行了异常处理,这篇就来按照流程,逐步将功能完善: 1.构思功能 首先是接收部分,要添加一个“清空接收”的按钮来清空接收区:因为串口通信协议常用都是8bit数据(低7bit表示ASCII码,高1bit表示奇偶校验),作为一个开发调试工具,它还需要将这个8bit码用十六进制方式显示出来,方便调试,所以还需要添加两个单选框来选择ASCII码显示还是HEX显示: 然后是发送部分,与之前对应,调试过程中还需要直接发送…
上一篇简单介绍了C#的一些基本知识,并成功的Hello,World,那么从这篇开始,我们来自己动手写一个串口助手: 1.构思功能 串口助手在单片机开发中经常被用来调试,最基本的功能就是接收功能和发送功能,其次,串口在打开前需要进行一些设置:串口列表选择.波特率.数据位.校验位.停止位,这样就有了一个基本的雏形:然后我们在下一篇中在此功能上添加:ASCII/HEX显示,发送,发送新行功能,重复自动发送功能,显示接收数据时间这几项扩展功能: 2.设计布局 根据以上功能,将整个界面分为两块:设置界面(…
项目中会经常用到上位机与PLC之间的串口通信,本文介绍一下C#如何编写上位机代码 与三菱FX3U进行通讯 1. 第一种方法是自己写代码实现,主要代码如下: //对PLC的Y7进行置1 byte[] Y007_ON = { 0x02, 0x37, 0x30, 0x37, 0x30, 0x35, 0x03, 0x30, 0x36 }; //选择串口参数 SerialPort sp = , Parity.Even, ); //打开串口 sp.Open(); //写入数据 sp.Write(Y007_O…
写在前面: 很多人在学习OPCUA的时候,有个非常苦恼的问题,就是没有OPCUA服务器的环境,这时候,有些人可能会想到通过类似于KepServer这样的软件来实现.那么,有没有一种方式,实现快速搭建OPCUA环境呢?答案是有的,今天继续给大家分享S7-PLCSIM Advanced,S7-PLCSIM Advanced是SIEMENS推出的一款高功能仿真器,它的显著特点是除了可以仿真一般的PLC逻辑控制程序外还可以仿真通信,功能是非常强大的,今天主要讲述如何基于S7-PLCSIM Advance…
关注公众号获取更多干货 TCP通信协议应该是上位机开发中应用最广泛的协议,无论是西门子S7协议.三菱MC协议或者是欧姆龙的Fins-TCP协议等,都是TCP通信协议的典型应用.很多人在上位机面试时,都会被问到关于TCP通信的一些问题,比如三次握手和四次挥手.TCP与Socket之间的联系等,为了便于大家更好地理解TCP通信,我整理了一套关于TCP通信的20个常见的面试题: 01.OSI参考模型与TCP/IP参考模型 如上图所示,OSI参考模型为7层模型,依次为应用层.表示层.会话层.传输层.网络…
上位机开发常用到串口通信来控制设备,串口通信的主要参数:COM口,波特率(9600),停止位(One),数据位(8),校验位(None),括号中的是常用值,具体意思我也不太懂,会用能实现功能就行哈哈: 开发工具:VS2012;   开发前需要添加以下服务引用: ....... using System.IO.Ports; 窗体搭建,因为没有串口设备供调试 ,所以我用虚拟串口即两个串口互相连接来实现通信,窗体分为上下两部分,对应两个串口区,上图为虚拟串口设置,下图为Winform样式:      …
引言 经常的时候我们要实现两个代码之间的通信,比如说两个不同不同人写的代码要对接,例如将python指令控制Arduino控件的开关,此处使用串口通信是非常方便的,下面笔者将结合自己踩过的坑来讲述下自己的学习经历. 首先是挑战杯审报的一个项目,即采用机器学习模型分类数据,结合Arduino的压力传感器模块,而机器学习大多采取python,数据无法做到实时传输,最后放弃了. 图1 压力传感器模型 然后是python需要通过Arduino的北斗模块获取位置数据,这个也需要做两个代码之间的通信. 当时…
PLC服务器监控系统的特点: 1·使用微软C#面向对象开发语言开发应用程序.2·使用了健壮性与性能良好的SUPER SOCKET服务器通信框架,实现自定义应用层通信协议,支持多台PC客户端访问服务器,实现管理层的电脑实时监控显示生产现场的所有PLC数据,不需要频繁行走车间,节约时间,提高工作效率.3·使用了性能良好的MODBUS-TCP服务器通信组件HslCommunication.dll,支持数量众多的客户端主动同时访问读写服务器数据.4·服务器端同时作为客户端采用西门子S7协议与西门子PLC…
上篇文章跟大家介绍了TCP通信常见的前10个面试题,没看过的小伙伴可以点击下方链接进行查看: 上位机面试必备——TCP通信灵魂二十问[上] 今天就后面的10个面试题接着做下说明:欢迎关注[dotNet工控上位机]公众号:thinger_swj 11.四次挥手中的TIME_WAIT状态? 首先要明确一点:主动关闭连接的一方,才会有TIME_WAIT状态. 之所以需要TIME_WAIT状态,主要是两个原因: 防止相同的端口重新连接时,服务器收到的是停留在网络间的数据包 保证被动关闭连接的一方能被正确…
前言 上一节我们已经基本上把超声波硬件的发射和接收模块全部做好了,接下来我们着手开发一个软硬结合的基于C#的平面定位软件! 目录 一.整体思路 二.效果提前展示 2-1.软件部分展示 2-2.硬件部分展示 三.基于C#的客户端软件说明 3-1.整体框架介绍: 3-2.部分技术细节介绍 3-2-1.串口操作 3-2-2.JiSuan函数说明及核心算法介绍 四.阶段小结 五.相关链接 一.整体思路 >_<" 如下图,利用我们上三节开发的超声波发射与接收设备构成一个:2固定接收头+1可移动…
最近要跟着导师一起开发一款大型上位机.MFC新人在考虑用对话框结构还是文档结构. 虽然说书上说大型结构的软件都需要文档结构,但是目前来看,对话框可以实现功能,并且对话框的程序更小一些,节省资源加载速度也更快. 暂时先考虑对话框结构.后续编程完成后再补充. TBC...…
用vc++MFC开发过不少跟单片机通讯的上位机程序了.搞懂了MFC架构,开发还是很快的,与底层单片机程序通讯,可以用串口.usb.网络.短信形式.串口现在用的越来越少了,一般电脑跟单片机在一块,使用串口.随着物联网的兴起,使用短信.网络来做电脑与单片机通讯越来越多了,对于物联网,上位机的管理端就特别重要了,大量终端的管理,要做到方便查看,方便搜索. 这是个以前做过的项目,药实验仪,采用的串口通讯,这个项目做的不错,但是最终客户没有给钱,估计找人把软件的限制给破解了,悲催.如有人对此项目感兴趣可以…
首先安装网络监听软件 运行这个软件 这个软件安装到电脑上,默认是监听咱电脑上的网络通信 咱们先监听电脑的软件的网络通信数据,然后再说怎么监听Wi-Fi和APP的软件的网络通信数据 咱就监听咱基础篇的 打开这个上位机 假设这个软件不是咱做的,IP什么信息都不知道,咱为了获取IP地址,咱不停的点击连接和断开 知道ip是 47.93.14.37以后咱设置一下过滤 ip.addr == 47.93.14.37 全部过滤出来了 咱清理软件的数据,同时断开上位机的连接,咱看一下这个上位机从一开始连接到发送和…
星期一, 20. 八月 2018 01:53上午 - beautifulzzzz 1.前言 做类似zigbee.ble mesh...无线网络节点性能测试的时候,手动操作然后看表象往往很难找出真正的原因,而且有些深层次问题隐藏在弱网环境中.或大量测试中,因在上位机上用脚本实现自动化挂机测试便显得尤为重要. 本文介绍一种用python写的基于串口通信的上位机自动测试程序框架(简陋框架). 2.代码框架介绍 如下:整个代码包含两层app+bsp,其中: bsp层放硬件相关的代码(比如linux系统用…
前面学习了USB相机硬件固件.设备驱动,可以实现USB设备识别.数据发送的功能.然后,非常重要的一部分,USB设备发出的数据,我要怎么接受,怎么查看发送的数据是否是正确的.网上百度了下,大部分人都使用的是C++的开发平台,而我想在.NET下使用C#制作上位机来实现USB设备数据的接收以及数据的显示,这里的数据为图像数据.查找了很久,C#部分的设计确实很少,大体的思路都有说道,但是更加清晰详细的解释没有.下面就针对我这几天查阅的资料作一分享: 基于VS开发平台,.NET架构下C#的USB设备编程,…
前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值.这篇文章主要是介绍Qt上位机如何实现波形的显示,串口数据的解析,以及一些小细节实现.这篇文章写完,uFUN心率计这个小项目就算结束了,最近又做了个uFUN开发板的扩展板,在微信群里的朋友都已经看到了,后面会做一些好玩的东西,大家要保持关注哈! 关于Qt Qt是一个1991年由Qt Company开…
倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码 本次测试需要环境: VS2013,TwinCAT3(本人版本TC31-Full-Setup.3.1.4018.16) 代码:C#代码,PLC程序代码,C++代码(官方提供)  测试部分:  测试包含:bool类型,int类型,long类型,real类型,lreal类型,string类型,数组,以及结构体 部分测试(这里没有结构体嵌套) PLC程序Main程序 基本类型部分 代码: PROGRAM MAIN VAR B…
渊源 大一的时候,学校开了门公共选修课,叫LabVIEW编程,当时的我当然还不知道LabVIEW是啥东东,但还是选了.上课的老师是机械学院的一个副教授.他给我们展示了好几个用LabVIEW做的项目.譬如油箱监控上位机等,已经不太记得了. 后来随着学习单片机.ARM等的串口操作.有时候一个美丽的上位机(尤其是能显示波形的上位机)在项目中给用户展示非常的实用.过了这么多年,尽管以前也用LabVIEW写过简单的温度监控上位机.但这次再拿起LabVIEW又好像从头開始一样,语法几已忘记殆尽. 定义通信格…
C#做一个简单的进行串口通信的上位机   1.上位机与下位机 上位机相当于一个软件系统,可以用于接收数据.控制数据.即可以对接收到的数据直接发送操控命令来操作数据.上位机可以接收下位机的信号.下位机是一个控制器,是直接控制设备获取设备状况的计算机.上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备.下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机.上位机不可以单独使用,而下位机可以单独使用. 2.串口通信 串口相当于硬件类型的接口.比如无线传…