上位机

上位机编程工控控件全览

青春壹個敷衍的年華 提交于 2020-03-28 13:25:50
由于个人开发没有精力和时间完成大型实用的上位机程序,逼真的图形显示更是难上加难,使用专业的外部控件就是一个不错的选择序,用外部控件不仅节省时间关键是写的程序更专业。工控方面的外部控件笔者认为老大是 IOCOMP 系列,Iocomp公司的用于工控领域的控件产品 功能强大,能够实现各种仪表的显示效果 。 Iocomp Ultra Pack控件是一款百分百由C#编写、充分利用GDI+的优点的控件套 装。他们用于生成具有专家级外观的仪器控件,您无需辛苦的在属性窗口中寻找该 属性,其自定义的属性编辑器提供了简单快速的属性配置方法。Ultra控件包提供了 55种专家级控件以及绘图控件包组件。Iocomp Plot Pack 是全新的、100%托管 的、领先的、高速的、易用的、能实时绘制的控件。还有OPC服务器..... 控件类型: .NET / ActiveX/COM 可用平台: .NET 2003/2005 / Visual Basic 6.0 / Visual C++ 6.0      Delphi / PowerBuilder / Asp / C++ Builder 控件类型: .NET / ActiveX/COM 可用平台: .NET 2003/2005 / Visual Basic 6.0 / Visual C++ 6.0      Delphi / PowerBuilder /

使用windriver时开机运行上位机程序无法扫描到设备

孤街醉人 提交于 2020-03-17 04:25:14
现象: 在使用windriver的API进行CPCI通信时,开机后第一次运行程序,发现扫描到的设备数为0,此时打开windriver,不做其他任何操作,再关掉,运行程序发现可以找到设备 原因: windriver在安装时需要输入license string,此项内容在下载的软件中有带,或者需要通过注册机来生成,在上位机程序中初始调用windriver的API时需要将此license作为参数传入,若程序中的license与我们安装时使用的不一样,会造成该问题的出现 解决办法: 在安装windriver时,需要记录使用的license string,然后在程序中也使用该license string,则在开机后第一次运行程序,也是可以正常扫描到设备的 特别说明: 在使用过程中发现程序和windriver不能同时对设备进行操作,不知道此现象是正常还是其他地方没处理对 来源: CSDN 作者: houxiaoliwang 链接: https://blog.csdn.net/houxiaoliwang/article/details/104892568

LPC1768IAP(详解,有上位机)

被刻印的时光 ゝ 提交于 2020-03-10 04:11:35
  之前说了stm32的iap编程,今天天气真好,顺手就来说说lpc1788的iap编程(没看前面的请查看stm笔记下的内容)   首先是flash的算法,lpc1768并没有寄存器来让我们操作flash,他内置了iap的flash算法,在技术手册的525页有如下说明      其支持的iap命令有这些 这样我们就能够做出相关的flash读写借口呢(具体请查看lpc1768的技术手册) unsigned param_table[5];//传递参数列表 unsigned result_table[5];//返回结果列表 //调用iap命令 void iap_entry(unsigned param_tab[],unsigned result_tab[]) { void (*iap)(unsigned [],unsigned []); iap = (void (*)(unsigned [],unsigned []))IAP_ADDRESS; iap(param_tab,result_tab); }   通过这种手段就能够调用iap命令,我们演示性的看一个命令 //扇区准备好指令 //起始扇区号 结束扇区号 系统时钟 void prepare_sector(unsigned start_sector,unsigned end_sector,unsigned cclk) { param

2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据)

爱⌒轻易说出口 提交于 2020-03-10 02:35:23
首先安装网络监听软件 运行这个软件 这个软件安装到电脑上,默认是监听咱电脑上的网络通信 咱们先监听电脑的软件的网络通信数据,然后再说怎么监听Wi-Fi和APP的软件的网络通信数据 咱就监听咱基础篇的 打开这个上位机 假设这个软件不是咱做的,IP什么信息都不知道,咱为了获取IP地址,咱不停的点击连接和断开 知道ip是 47.93.14.37以后咱设置一下过滤 ip.addr == 47.93.14.37 全部过滤出来了 咱清理软件的数据,同时断开上位机的连接,咱看一下这个上位机从一开始连接到发送和接受的数据 干净了 咱再监听软件发送和接收的数据 下一节说怎么监听Wi-Fi和APP的数据,实际上就是用咱电脑开一个热点,让APP和Wi-Fi连接咱电脑的热点,然后就能实现监听了 2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据) 来源: https://www.cnblogs.com/yangfengwu/p/10765827.html

深度剖析西门子PLC的开放式TCP通信

こ雲淡風輕ζ 提交于 2020-03-04 23:52:52
对于自控或电气工程师来说,西门子PLC是每个人都非常熟悉的一款PLC品牌;而对于上位机开发工程师来说,Socket通信或TCP/IP协议也是必须要掌握的一种通信方式。刚好手头有一款西门子的200Smart PLC,可以利用它来跟大家聊聊Socket通信的那些事儿。 相比较而言,西门子PLC对Socket通信的支持性是很不错的。如果你在使用西门子软件或者逛西门子论坛时,发现一个词叫做Open User Communication或开放式通信,没错,那其实就是我们说的Socket通信方式。关于这一点,我们可以从以下两张图中看出,分别为S7-200Smart编程软件Micro/Win Smart V2.5及博途TIA V15.1编程软件中关于通信库的部分截图: 我们可以看到无论是西门子的中高端PLC还是低端PLC,都是支持开放式TCP/UDP通信的,既然都支持,我们来看下如何实现。 众所周知,对于Socket通信来说,是可以支持TCP、UDP等多种通信方式,但是今天在这里,我们主要针对TCP这种通信方式。除此以外,大家都知道,Socket会存在服务器和客户端的说法,也就意味着,同样是使用Socket通信,我们仍然需要确定到底PLC是作为服务器还是作为客户端,因为不管对于PLC编程或者上位机开发来说,这两种方式都是完全不同的,下面做具体介绍。 一、PLC作为TCP服务器的实战应用 (1)

C# MODBUS协议上位机程序

核能气质少年 提交于 2020-03-03 17:25:10
C#写了一款上位机监控软件,基于MODBUS_RTU协议。 软件的基本结构: 采用定时器(Timer控件)为时间片。 串口采用serialPort1_DataReceived中断接收,并进行MODBUS格式判断。 把正确接收的数据取出,转换为有特定的结构体中。 数据通过时间片实时刷新。 MODBUS协议(这里不介绍了,网上有很多的权威资料)。   串口接收问题 这里采用的是MODBUS_RTU协议,是没有回车等明显的结束符的哈。所以在C#也不可以用serialPort1.ReadLine来读取。我用的是serialPort1.BytesToRead先读缓冲区中的数据个数,再通过个数据读数据。这样在用串口软件测试的时候确实很有用,再随之问题又出现了。下位机传上来的数据长度高出8个,就会分断接收。即接收到的两次的长度,第一次是8个,然后再接收到后面的。 原因是因为软件没有接收完一整帧数据后就进行了中断。解决方法:在中断中加入线程阻塞方法,然后再读取串口中的数据。   发送读数据和发送写数据的结构 写了多个MODBUS协议的上位机后,总结了些经验,并将这部分程序封装在一个类中。 使用时只需对其接口函数调用即可,有很强的移植性。在写软件时不用再在协议这部分花太多的时间。 基本的使用方法在注释中。程序总体感觉 可能过于臃肿,希望各位大神批评指点。 以下是源代码: 1 /* 2 *

USB(UVC协议)摄像头

孤街浪徒 提交于 2020-03-01 22:55:44
一、背景知识 1.1、背景 UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。 是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,已成为USB org标准之一。 对于一个 usb 摄像头来说,内部大概分为一个 VC 接口和一个 VS 接口,VC 接口内部有许多 unit 和 terminal 用来“控制”摄像头,比如我们可以通过 Process unit 设置白平衡、曝光等等。对于 VS 接口来说,标准 VS 接口往往含有许多个设置,每一个设置都包含一个实时传输端点,虽然它们的端点地址可能相同,但是它们的最大传输包大小不同,在 Class specific VS 接口中,包含多个 Format ,每一个 Format 包含多个 Frame ,Format 指的 YUYV MJPG 等等,Frame 就是各种分辨率 480*320 640 * 480 等等。以上这些信息,都是通过分析描述符来获得。 1.2、libuvc开源库 1.3、数据流 通过驱动获取传感器的数据,获得的数据通过UVC协议上传给上位机,同时,上位机会发送控制命令给设备侧。 二、设备侧开发 等待上位机发来的控制消息,监听USB端口的EP0 三、上位机侧开发 VLC或者AMCAP上位机软件调试 四、参考文档 1

上位机 下位机

耗尽温柔 提交于 2020-03-01 15:05:27
上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统。 在概念上 控制者和提供服务者是上位机 被控制者和被服务者是下位机 也可以理解为主机和从机的关系 但上位机和下位机是可以转换的 两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯。里面会举大量例子。一般对编程人员而言一看也就那么回事,使用一些新的API罢了。多语言支持功能模块,一般同时支持数种高级语言为上位机编程。 来源: https://www.cnblogs.com/jsjjob/p/7076277.html

VS2008基于对话框的MFC上位机串口通信(C++实现)简单例程

眉间皱痕 提交于 2020-02-29 17:54:14
首先,在 vs2008 环境下创建 MFC 运用程序 设置项目名称为 ComTest (这个地方随意命名,根据个人习惯),点击确定后, 点击下一步 出现如下界面 选择“基于对话框”模式然后直接点击完成即可(其他选项按默认方式),点击完成后出现如下界面 解决资源管理器中自动给你生成好代码目录(可点击菜单栏“视图”选项打开解决方案资源管理器),如下图所示 我们再次回到对话框编辑窗口,删除自动生产的控件(静态文本控件、确定和取消按钮控件),并在工具箱里添加两个button按钮和编辑框,之后的界面如下图所示: 然后把最重要的串口通信控件加入到工具箱中,因为默认的工具箱是不带 MS 串口通信控件的。添加方法如下:在工具箱界面点击鼠标右键出现如下界面: 然后点击选择项出现如下界面,然后选择“COM 组件” 找到并选中该项 最后点击确定键,就成功添加 MS 串口通讯控件了,工具箱中就会出现串口控件图标了 我们吧串口控件添加到对话框里,位置随意,运行的时候是看不见的,所以最终界面是这样子的 下面开始添加变量,首先 为 IDC_MSCOMM1 添加控制变量: m_ctrlComm ,在串口通信图标上右键点击选择添加变量,如图: 完成就可以了,控件ID和类别是可以选的,下面为按钮和编辑框添加变量时选不同的就行了。 两个编辑框,一个用于接收显示数据 ID设置 为 IDC_EDIT_RXDATA

STM32驱动SDIO WIFI 介绍(十六) ---- 上位机UDP操作/代码

最后都变了- 提交于 2020-01-29 06:59:04
代码工程的GITHUB连接: 点进进入GITHUB仓库 https://github.com/sj15712795029/stm32f1_marvell88w8801_marvell8801_wifi Marvell自己实现驱动系列文章分为几篇介绍: SDIO wifi Marvell8801/Marvell88w8801 介绍(一) ---- 芯片介绍 SDIO wifi Marvell8801/Marvell88w8801 介绍(二) ---- SDIO协议介绍 SDIO wifi Marvell8801/Marvell88w8801 介绍(三) ---- 寄存器介绍 SDIO wifi Marvell8801/Marvell88w8801 介绍(四) ---- 命令/事件/数据格式 SDIO wifi Marvell8801/Marvell88w8801 介绍(五) ---- TLV SDIO wifi Marvell8801/Marvell88w8801 介绍(六) ---- 实现初始化功能 SDIO wifi Marvell8801/Marvell88w8801 介绍(七) ---- 实现搜索功能 SDIO wifi Marvell8801/Marvell88w8801 介绍(八) ---- 实现STA功能 SDIO wifi Marvell8801