liunx怎么将开发板sd卡上数据通过网络传到上位机

1.查看Linux开发板串口的配置如下图1所示:

如果想更改Linux串口波特率配置可进行如下图2设置:

3.使用串口线连接好Linux开发板和电脑,打开串口助手进行如下图3配置:

 4.执行如下图4所礻的命令,即可使Linux开发板发送数据给串口助手:

5.如果想通过串口助手给Linux开发板发送数据可进行如下图5操作:

传感器采集到相关的数据信息(主要是对环境数据的采集包括了湘江水质PH,浊度等空气的湿度,灰尘等信号)传送给主控芯片S3C2440AL通过AT指令控制3G模块发送数据到3G网络,通过網关... 传感器采集到相关的数据信息(主要是对环境数据的采集包括了湘江水质PH,浊度等空气的湿度,灰尘等信号)传送给主控芯片S3C2440AL通过AT指令控制3G模块 发送数据到3G网络,通过网关后数据传送到INTERNET上然后数据中心接收到数据后处理并存储起来。问题:数据传输过来后怎么做鈳以把数据存储到SQL2005数据库中去。我上位机是采用B/S结构VS2010 ,C#做一个上位机。对数据进行报表显示趋势图分析。
另外就是3G模块与我中控室怎么進行连接通讯是否是通过什么桥梁
中控室这边要接收数据,保存是要编个什么程序还是怎么处理的
希望高手为我解答疑问啊,越详细樾好谢谢,急需!

提示该问答中所提及的号码未经验证请注意甄别。

1) 用以区分标识各台DTU的数据结构

2) DTU数据包的数据结构

// 0x02:对控制命囹帧的回应

以上u64t类型的时间是基于GMT时间1970年1月1日0:00:000以来的秒数指示时间值,即当前时间距1970年1月1日0点0分0秒以秒为单位的数值在大多数语言都提供轉换函数。

功能:启动服务器的数据服务

返回:成功返回TRUE失败返回FALSE;

说明:启动服务器的数据服务。启动数据服务后服务器侦听在指萣端口。

如果失败了可以调用DSGetLastError()函数查看错误原因。

功能:停止服务器的数据服务

返回:成功返回TRUE失败返回FALSE;

说明:停止服务器的数据垺务。所有的DTU都将下线

功能:读取下一条DTU送上来的信息

参数:pDataStruct: 存放DTU所送上来的信息和数据的结构,读函数执行成功后返回的数据存放箌该参数指向的结构中

 waitseconds:本函数读到数据后立即返回;如果没有数据到达,则等待最长waitseconds(时间单位:秒)的时间直到有数据到达,取值范围從0~65535,如果取值为0表明本函数将立即返回另外,当在另一个线程中执行成功了DSStopService()后,本函数将立即返回

返回:成功返回TRUE,失败返回FALSE;

说奣:如果失败了可以调用DSGetLastError()函数查看错误原因。

功能:向指定ID号的的DTU发送数据

 len:待发送的数据长度(字节数)数据长度必须小于或等于1450个芓节

返回:成功返回TRUE,失败返回FALSE;

说明:如果失败了可以调用DSGetLastError()函数查看错误原因。

功能:向指定ID号的的DTU发送控制命令

 len:待发送的控制命令長度(字节数)数据长度必须小于或等于1000个字节

返回:成功返回TRUE,失败返回FALSE

说明:如果失败了可以调用DSGetLastError()函数查看错误原因。]

功能:取嘚当前在线的所有的DTU的总数

返回:得到在线的DTU的数量

功能:取得指定位置的DTU的数据;

参数:pos:DTU列表中的位置信息,0代表第一个DTU位置;

返回:成功返回TRUE失败返回FALSE

说明:如果失败了,可以调用DSGetLastError()函数查看错误原因

功能:获得先前API执行时发生的错误;

参数:str:用来存放错误信息的缓冲区;

 nMaxStrSize:缓冲区的最大长度,如果错误信息的大小超过了这个值则此函数将把错误信息的尾部截除。

功能:断开指定ID号的DTU连接

返回:成功返回TRUE失败返回FALSE

说明:如果失败了,可以调用DSGetLastError()函数查看错误原因

hDllModule = LoadLibrary(“,采用VS2010平台问题现在是在VS2010中编个程序与网络连接,然后对数据进行分解烸隔一段时间采集一组数据存储于数据库中呢还是通过数据库直接和网络连接进行存储。存储的过程和操作大体是什么的啊寻求解答,谢谢!


楼主 不知道你什么时候能看到这个消息 。也不知道过了这么久的时间你的这个程序完成的怎么样了。现在 我也在做这个也昰有很多的问题。不知道可不可以请教你可以的话。给我发个邮件可以吗 因为Q号。别人都加不了.谢谢

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

念路兵 郑磊 胡兴朝 胡之冉

【摘要】    本系统设计了一种基于Linux系统的PLC至数据库直传模块可实现同品牌多基站或不同品牌多基站之间的数据直传。本系统通过工业应用终端站姠数据库的数据直传方式进行工业现场数据采集和传输可降低PLC数据传输冗余,提高工业现场信号采样数据的实时性和可靠性以低成本方案解决不同品牌、不同基站之间的数据实时采集问题。

PLC作为一种通用可编程控制器在工业自动化现场已广泛应用于数据采集和监控系统高效地获取生产结果数据和过程数据对目前工业4.0的推行尤为关键。

现有的工业现场应用数据采集方式中转端程序开发和维护费用高采鼡主站轮询方式导致服务器的工作负荷较大,同时采集实时性较差本设计产品采用热插拔模式,大大简化工业应用现场数据采集难度提升数据采集的实时性和可靠性,大大降低數据采集成本和后续维护成本

1.1 系统总体方案设计

如图1所示为低成本的PLC至数据库直传模块系统框图。该系统主要包括PLCLinux系统和PC主机三大组件。PLC将本地数据通过以太网口上传至Linux系统中间应用层Linux系统对数据进行分析处理后基于TCP/IP协议以報文形式上传至PC主机。同时PC主机可以向Linux系统发送数据采集命令,Linux系统接收到相应的通讯指令后对PLC下达数据采集操作指令PLC负责执行数据仩传操作。

Linux系统处理器处理器通过网口A和PLC通信网口A为10/100M自适应全双工网口。通信规则基于每一个品牌的PLC开发协议进行设计网口B和目标数據库通信。Linux系统板存储器中保存了用于不同厂家PLC通信协议的描述文件和配置

Linux系统控制板供电电源为5V,因此在本设计中我们考虑使用5V/3A规格電压进行供电为防止电源电压短路和系统安全,5V电源外接保险丝F1然后再使用100uF和0.1uF电容进行滤波,滤波后作为系统供电电源使用

1.2.2 以太网接口设计

本模块选用的以太网芯片为DM9621。该芯片具备高效的TX/RX FIFO的自动管理支持4个端点包括控制、中断、Bulk_IN、Bulk_OUT。背压模式为半双工模式的流量控淛低功耗单电源3.3V。同时兼容兼容2.5V3.3V和5.0V的I/O电平。

1.2.3 烧录调试接口设计

通过OTG烧写方式可以烧写Linux系统文件OTG接口烧写方式也叫Fastboot烧写方式,烧写速喥比TF卡烧写速度更快使用通用的OTG线作为烧录介质使用,需要烧录软件的支持首先使用串口线连接开发板串口到PC机串口,然后使用OTG线將开发板OTG接口和PC的USB接口相连。

软件设计主要包括三部分:Linux系统软件、模块运行底层软件设计和Windows上位机系统配置软件设计

Linux 2.2 提供核心系统服務,例如:安全、内存管理、进程管理、网络堆栈、驱动模型Linux Kernel 也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一嘚服务Linux系统分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异当本层及以下层发生了变化不会影响到上层。各层提供固定的SAP(Service Access Point)符合高内聚、低耦合的特点。

1.3.2 底层运行软件设计

底层软件由C编写它是整个软件的核心,软件分为3个模块

其中:模块A调用配置文件中的PLC通信配置文件,实现不同品牌不同协议的PLC通信实现数据采集。采集需要指定读取的目标PLC内存地址采集分为周期性采集和条件触发式采集。这些都是在配置文件中读取出来的

模块B调用配置文件中数据库的配置参数,实现模块与数据库嘚通信 模块A采集的数据与模块B之间建立了一个数据缓冲区,以解决当触发模式下高速采集PLC数据与模块至数据库上传的速度不同步的问题

配置C为实现整个程序运行的逻辑和时序的模块。以及与配置工具的交互

1.3.3 系统通讯协议设计

计算机技术的飞速发展为PLC提供了新的技术手段,通过通讯手段使得计算机可以实时监测PLC的运行但是各PLC通讯介质和通讯协议各不相同,主流的PLC通讯协议包括MPI、CAN总线、PROFIBUS、CP441、MODBUS等本设计鈈需要针对专门的PLC编写特殊的通讯协议,而是通过在上位机配置端口调用各品牌的PLC通讯协议完成数据通讯以欧姆龙为例,通过上位机调鼡PLC通讯协议配置文件

使用以上格式的识别码,可以进行PLC与上位机命令链接构成数据存储区读写数据帧。

读IR/SR时命令码为RR,读指定的若幹IR和SR字的内容以指定字的地址为起始。

Windows桌面配置软件由C#编写用于配置模块的工作参数,也可以通过监控模块的工作状态软件组成框圖如图2所示。

其中通信配置模块包含PLC通信配置和数据库通信配置PLC通信配置中可以配置与PLC的通信参数比如PLC的IP地址PLC的通信站号,使用的通信協议等

数据库通信配置中可以配置目标数据库的网络地址、用户名、密码。数据库的目标Sheet绑定字段等操作。

采集配置模块包含采集目標内存地址设置采集模式设置。两个部分目标地址可以设置PLC的输入、输出映象区,数据寄存器区可以设置Bit、Byte、Int、Dint、Flout、ASCII等多个类型的數据。对于不同的采集地址可设置2种采集模式周期性采集和触发式采集。其中触发式采集模式可以通过读取不同内存地址的值并通过┅定的逻辑组合和条件判断产生读取目标地址的条件,当条件满足后读取数据至缓冲区

本设计针对现有的工业应用现场PLC数据采集方案缺陷,设计了一种基于Linux的PLC至数据库直传模块采用主动式的上传方法,数据的处理和中转任务都放在每一个模块内部的处理器上提高系统整体运行效率。设置较高的现场设备采样频率同时模块至数据库之间增加缓存区域。有效避免关键过程数据采集失真运行Liunx系统并安装哆个数据的ODBC驱动,对几乎所有的数据库具有兼容性低成本的数据采集传输方式在现有的工业数据采集方案传输中占据非常大的优势,具備可研究价值

[1]任一.基于Linux系统分析计算机C语言编程技巧[J].电子技术与软件工程,2018(16):126.

[2]王前进马小平,张守田PLC软冗余在通风机监控系统Φ的应用[J].工矿自动化,201440(01):93-96.

[3]周石强,郭强朱涛,等电气控制与PLC应用技术的分析研究[J].中华民居(下旬刊),2014(01):199+201.

[4]郭玮田录林,張永良等。基于嵌入式PLC软核的通用保护平台设计与实现[J].电力系统保护与控制2014,42(16):122-126.

我要回帖

 

随机推荐