stm32-I2C例程

stm32-I2C例程
stm32-I2C例程

void Delay(unsigned int nCount)

{

for(; nCount != 0; nCount--);

}

void SetSCL(void)

{

GPIO_SetBits(GPIOB, FM24CL64_SCL);

Delay(0x3000);

}

void ClrSCL(void)

{

GPIO_ResetBits(GPIOB, FM24CL64_SCL);

Delay(0x3000);

}

void SetSDA(void)

{

GPIO_SetBits(GPIOB, FM24CL64_SDA);

Delay(0x3000);

}

void ClrSDA(void)

{

GPIO_ResetBits(GPIOB, FM24CL64_SDA);

Delay(0x3000);

}

void SDAOutPut1(void)

{

GPIO_InitStructure.GPIO_Pin = FM24CL64_SDA;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO_Mode_AF_OD;

GPIO_Init(GPIOB, &GPIO_InitStructure);

}

void SCLOutPut1(void)

{

GPIO_InitStructure.GPIO_Pin = FM24CL64_SCL;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO_Mode_AF_OD;

GPIO_Init(GPIOB, &GPIO_InitStructure);

}

void SDAInPut1(void)

{

GPIO_InitStructure.GPIO_Pin = FM24CL64_SDA;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_Init(GPIOB, &GPIO_InitStructure);

}

void at24C04_Init(void)

{

int i,j;

/* Configure I2C1 pins: SCL and SDA */

GPIO_InitStructure.GPIO_Pin = FM24CL64_SCL | FM24CL64_SDA;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO_Mode_AF_OD;

GPIO_Init(GPIOB, &GPIO_InitStructure);

ClrSCL();//SCL=LOW

ClrSDA();//SDA=LOW

ClrSCL();//SCL=LOW

SetSCL();//SCL=HIGH

Delay(0x2000);

WDI_Task();

SetSDA();//SDA=HIGH

Delay(0x2000);

WDI_Task();

ClrSCL();//SCL=LOW

Delay(0x2000);

WDI_Task();

SetSDA();//SDA=HIGH

Delay(0x2000);

WDI_Task();

SetSCL();//SCL=HIGH

Delay(0x2000);

WDI_Task();

FM24CL64Stop();

}

超级XY曲线控件例程说明文档

超级XY曲线控件 例程说明文档 北京亚控科技发展有限公司 2009年6月

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 定义设备 (1) 3.2 定义变量 (1) 3.3 制作画面 (2) 3.4 功能实现说明 (10) 3.5 进入运行系统 (12) 4. 注意事项 (14)

1. 功能概述 常规需求:很多工业现场会用到XY曲线,也就是X轴非时间轴的情况。 组态王中的实现方法: 1)利用组态王内置控件中的X-Y轴曲线,通过调用此控件的函数来实现。 2)利用组态王通用控件中的超级XY曲线,通过调用此控件的属性、方法来实现。 超级XY曲线相对于X-Y轴曲线功能更加强大,使用更方便。其主要优势在于提供了更加灵活方便的控件方法来实现更多的功能,Y轴支持多个坐标,最多可以支持16条曲线,曲线可以保存、调用等,所有的功能都提供了相应的控件方法,可以根据需要灵活的在各种命令语言脚本程序中进行调用。 2. 工程实例 我们举一个例子来说明超级XY曲线控件的使用。在此例程中我们定义三个变量,分别为“压力”、“温度”、“密度”,通过XY曲线来观察压力、温度对于密度的影响。下面就以此为例来演示完成这一要求的具体步骤。 3. 操作步骤 3.1定义设备 新建一个工程,根据工程中实际使用的设备进行定义,本例程使用亚控的仿真PLC 设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。 3.2定义变量 在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)。压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。 密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。

打地鼠程序说明文档

打地鼠程序说明文档 项目是一款打地鼠的游戏,程序用到了延时函数、LED、电阻屏、按键灯功能,这些功能的初始化例程里面都有,我们可以直接调用来完成初始化。 完成了初始化就开始程序的主干了,既然我们用到了电阻屏,肯定就需要对它进行校准,校准函数在触摸屏例程也有,我们可以通过KEY0按键直接调用校准函数,用来防止触摸屏不准。 然后我们先进行的是界面显示,先通过图片取模软件取出一个背景图,注意取模的时候由于例程显示那里标注了,在液晶上画图(仅支持:从左到右,从上到下 or 从上到下,从左到右的扫描方式!),图片数据(必须包含图片信息头, 4096色/16位真彩色/18位真彩色/24位真彩色/32位真彩色的图像数据头),针对STM32,不能选择image2lcd的"高位在前(MSB First)"选项,否则imginfo的数据将不正确!我们按照标注选择了16位真彩色的取模方式,通过PS将图片改为屏幕合适尺寸,就可以在屏幕上显示出背景了。将前20行用来显示分数,等级,生命属性,他们通过字符串和数字变量的显示函数来实现,后面300行做成3*3的地鼠洞,地鼠洞通过例程里面的画实心圆来表示,用一个for来遍历每个圆心坐标,让代码简介,在用个随机数函数产生0-8的数字来代表老鼠出现的位置,然后通过同样的方法取出老鼠的图片,根据洞圆心的坐标,找到老鼠显示的坐标显示出老鼠,这里背景是指显示一次的,老鼠变换一次刷新一次屏幕,

刷新就只用刷新你目前的状态,洞的显示和老鼠的位置,让洞把老鼠覆盖就可以不用刷新背景了。再游戏结束之后再重新刷新背景显示游戏结束和继续就好了。 显示完成了接下来就是触摸,由于它的例程里面自带触摸函数,可以直接调用来返回当前的x,y坐标,这样触摸就很容易了key_9=(tp_dev.x[0]+1)/80+3*(tp_dev.y[0]+1-20)/100; 用以上这段代码就可以识别出触摸的是之前分的3*3的那个位置,返回的1-9,然后再和老鼠对应的坐标进行判断就可以知道打对与否,对就加分,分到就升级,升级了就提高地鼠刷新次数,错就减分,减生命,分为0时就不减了,生命为0就游戏结束。还有不管对错,只要点击了屏幕地鼠的持续时间就会减短,马上刷新下一只地鼠。就不用多余的等待。

组态王 历史数据查询例程说明文档

例程说明文档

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 定义设备 (1) 3.2 定义变量 (1) 3.3 制作画面 (2) 3.4 进入运行系统 (10) 4. 注意事项 (14)

1. 功能概述 常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。 历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。 组态王中的实现方法: 利用组态王内置报表以及报表的函数来实现对历史数据的查询。 组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。 2. 工程实例 我们举一个例子来说明实现方法。在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。 3. 操作步骤 3.1定义设备 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC -亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。 3.2定义变量 在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)、电压(IO实数类型)、电流(IO实数类型)。 压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,

软件(结构)设计说明(SDD)文档标准模版

软件(结构)设计说明(SDD) XXXX公司

文件更改记录

文件版本变更记录

软件(结构)设计说明(SDD) 说明: 1.《软件(结构)设计说明》(SDD)描述了计算机软件配置项(CSCI的设计。它描述了CSCI级设计决策、CSCI体系结构设计(概要设计)和实现该软件所需的详细设计。SDD可用接口设计说明IDD和数据库(顶层)设计说明DBDD加以补充。 2.SDD连同相关的IDD和DBDD是实现该软件的基础。向需方提供了设计的可视性,为软件支持提供了所需要的信息。 3.IDD和DBDD是否单独成册抑或与SDD合为一份资料视情况繁简而定。 模版说明: 1、文档字体设定: 标题1:小一 标题2:二号 标题3:小二 标题4:三号 标题5:小三 标题6:四号 正文:四号 2、文章编号,请使用格式刷刷,不要手工编号。目前格式都 是对的。 3、内容根据实际情况裁剪,一般可行性研究报告,模版章节 不可缺。 4、封面图片请根据实际情况自行替换。 5、关于修订记录,请根据文档需要自行添加。

1.引言 本章应分为以下几条。 1.1.标识 本条应包含本文档适用的系统和软件的完整标识。(若适用)包括标识号、标题、缩略词语、版本号、发行号。 1.2.系统概述 本条应简述本文档适用的系统和软件的用途。它应描述系统与软件的一般性质;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;并列出其他有关文档。 1.3.文档概述 本条应概述本文档的用途与内容,并描述与其使用有关的保密性或私密性要求。 1.4.基线 说明编写本系统设计说明书所依据的设计基线。

代码编写规范说明书

代码编写规范说明书(c#.net与https://www.360docs.net/doc/073200960.html,)目录 1 目的 2 范围 3 注释规范 3.1 概述 3.2 自建代码文件注释 3.3 模块(类)注释 3.4 类属性注释 3.5 方法注释 3.6 代码间注释 4 命名总体规则 5 命名规范 5.1 变量(Variable)命名 5.2 常量命名 5.3 类(Class)命名 5.4 接口(Interface)命名 5.5 方法(Method)命名 5.6 名称空间Namespace)命名 6 编码规则 6.1 错误检查规则 6.2 大括号规则 6.3 缩进规则 6.4 小括号规则 6.5 If Then Else规则 6.6 比较规则 6.7 Case规则 6.8 对齐规则 6.9 单语句规则 6.10 单一功能规则 6.11 简单功能规则 6.12 明确条件规则 6.13 选用FALSE规则 6.14 独立赋值规则 6.15 定义常量规则 6.16 模块化规则 6.17 交流规则 7 编程准则 7.1 变量使用 7.2 数据库操作 7.3 对象使用 7.4 模块设计原则 7.5 结构化要求 7.6 函数返回值原则 8 代码包规范 8.1 代码包的版本号

8.2 代码包的标识 9 代码的控制 9.1 代码库/目录的建立 9.2 代码归档 10 输入控制校验规则 10.1 登陆控制 10.2 数据录入控制 附件1:数据类型缩写表 附件2:服务器控件名缩写表 1 目的 一.为了统一公司软件开发设计过程的编程规范 二.使网站开发人员能很方便的理解每个目录,变量,控件,类,方法的意义 三.为了保证编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。 四.编码规范和约定必须能明显改善代码可读性,并有助于代码管理、分类范围适用于企业所有基于.NET平台的软件开发工作 2 范围 本规范适用于开发组全体人员,作用于软件项目开发的代码编写阶段和后期维护阶段。 3 注释规范 3.1 概述 a) 注释要求英文及英文的标点符号。 b) 注释中,应标明对象的完整的名称及其用途,但应避免对代码过于详细的描述。 c) 每行注释的最大长度为100个字符。 d) 将注释与注释分隔符用一个空格分开。 e) 不允许给注释加外框。 f) 编码的同时书写注释。 g) 重要变量必须有注释。 h) 变量注释和变量在同一行,所有注释必须对齐,与变量分开至少四个“空格”键。 如:int m_iLevel,m_iCount; // m_iLevel ....tree level // m_iCount ....count of tree items string m_strSql; //SQL i) 典型算法必须有注释。 j) 在循环和逻辑分支地方的上行必须就近书写注释。 k) 程序段或语句的注释在程序段或语句的上一行 l) 在代码交付之前,必须删掉临时的或无关的注释。 m) 为便于阅读代码,每行代码的长度应少于100个字符。 3.2 自建代码文件注释 对于自己创建的代码文件(如函数、脚本),在文件开头,一般编写如下注释: /****************************************************** FileName: Copyright (c) 2004-xxxx *********公司技术开发部 Writer: create Date: Rewriter:

组态王报警例程文档

报警系统应用例程 说明文档 此文档由北京亚控公司提供,仅作为KingSCADA3.0报警系统应用的使用参考,其中涉及内容的详细说明请参考KingSCADA3.0的使用说明或咨询技术支持工程师。

目录 1. 概述 (1) 2. 例程 (1) 2.1 定义变量的报警属性 (1) 2.2 报警配置 (3) 2.3 报警显示 (6) 2.4 报警查询 (12) 2.5 报警窗的方法应用 (17) 3. 注意事项 (18)

1.概述 在工业控制系统中,当现场的数据超出正常范围时,系统应以报警的方式将其通知相关工作人员,工作人员接收到报警信息后会对报警做出相应的处理,所以报警系统在工业控制系统中是一个非常重要的组成部分。KingSCADA3.0提供了强大的报警操作功能:包括报警存储功能、报警打印功能、报警显示功能、报警转发功能等等,下面将具体介绍每种功能的操作过程。 2.例程 2.1定义变量的报警属性 在使用报警功能前,必须先要对变量的报警属性进行定义。 在开发系统“数据词典”中新建变量,本工程中我们以模拟量为例。 ●变量名:temperature ●变量类型:基本变量 ●数据类型:Mem Float ●变量描述:温度 ●初始值:0 ●灵敏度:0 ●最小值:0 ●最大值:100 变量temperature的报警属性如图1所示。

图1 变量temperatrue报警属性 ●变量名:pressure ●变量类型:基本变量 ●数据类型:Mem Float ●变量描述:压力 ●初始值:0 ●灵敏度:0 ●最小值:0 ●最大值:5 变量pressure的报警属性如图2所示。

组态王报警存储与查询例程说明文档分析-共27页

例程说明文档 北京亚控科技发展××公司 2019年7月

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 新建工程 (1) 3.2 报警配置 (7) 3.3 进入运行系统 (14) 3.4 历史报警查询 (15) 4. 注意事项 (25)

1. 功能概述 常规需求:很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。 组态王中的实现方法:组态王支持通过ODBC接口将数据存储到关系数据库中,并且提供KVADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。关系数据库可以为Access数据库或者SQLServer数据库。 2. 工程实例 我们通过一个简单的工程对报警信息的存储以及历史报警信息的查询进行讲解。历史报警的查询主要根据日期、报警组为条件进行查询。报警信息存储的数据库以Access 数据库为例进行。下面就以此为例来演示完成这一现场需求的设置步骤。 3. 操作步骤 3.1新建工程 3.1.1定义设备 新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。此仿真PLC可以做为虚拟设备与组态王进行通讯。仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。具体的寄存器的使用请参考组态王IO驱动帮助。 3.1.2定义变量 在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。变量定义画面如下图一、图二所示:

IBMS系统需求说明书系统V

智能建筑设备管理系统(IBMS)集成平台 用户需求说明书 深圳市贝尔信智能系统有限公司

修订历史记录 A- 增加M- 修订D-

目录 1引言4 1.1编写目的 (4) 1.2范围 (4) 1.3术语与缩写解释 (5) 1.4参考资料 (5) 1.5假设与约定 (6) 1.6先进性与可扩展性 (6) 2产品介绍 (8) 3产品面向的用户群体 (9) 10 11 11 11 12 12 12 13 13 13 14 14 14 14 14 14 14 14 14 15 16 16 16 7.3网络环境需求 (18) 8需求签字确认 (19)

1引言 1.1编写目的 编写本需求说明书的目的是为了更好的建立起设计者与用户的联系,明确用户需要什么,对每一项功能的实现有什么要求。并准确的定义“系统必 2.2安全防范 视频监控系统 入侵报警系统 2.3公共类 停车场管理系统 机房监控系统

1.3术语与缩写解释 7.《民用闭路监视系统工程技术规范》(GB50198-2011) 8.《防盗报警控制器通用技术条件》(GB 12663-2001) 9.《建筑设计防火规范》(GB50016-2006) 10.《火灾自动报警系统设计规范》(GB50116-98) 11.《绿色建筑评价标准》(GB/T50378-2006) 12.《安全防范工程技术规范》(GB50348-2004)

13.《入侵报警系统工程设计规范》(GB50394-2007) 14.《视频安防监控系统工程设计规范》(GB50395-2007) 15.《出入口控制系统工程设计规范》(GB50396-2007) 16.《商业建筑物综合布线系统国际标准》(ISO/IEC11801) 17.《通信布线管道和空间设计施工标准》(EIA/TIA 569) 18.《综合布线系统工程设计规范》(GB50311-2007) 19.《综合布线系统工程验收规范》(GB50312-2007) 1.6先进性与可扩展性 本系统有很强的前瞻性设计,充分预留了各种标准协议的支持接口, 可根据具体项目进行订制: ●本系统支持BACnet 楼宇自动化和控制网络协议。 ●本系统支持OPC / ModBus 作为公共的标准接口采集协议。

金龙207、407网络例程说明文档

金龙开发板网络例程说明文档 硬件平台:金龙207开发板、金龙407开发板 软件平台: 固件库版本:1.0 Freertos版本:6.1.0 Lwip版本:1.3.2 深圳旺宝电子

实验一:Ping 对于网络通信首先必须得保证网络连接正常,Ping命令是我们最常使用的检测网络的方法,将开发板与电脑用网线连接,首先我们需要对电脑进行如下配置,打开电脑网络,双击“本地连接” 设置本地连接“属性”

设置TCP/IP属性 选择手动设置IP地址,这里设置为192.168.1.203,点击确定即可。

打开工程“金龙207网络之ping”。 打开main.h我们可以看出开发板IP地址为192.168.1.199,开发板IP地址与电脑IP地址必须在一个网段内(这里是192.168.1.xxx),如果不需要使用LCD显示(使用旺宝电子3.2寸触摸屏模块),可关掉宏“USE_LCD”。STM32与DP83848采用的是RMII接口,STM32为DP83848提供50MHz时钟,使用宏“RMII_MODE”。 如下图为金龙207开发板照片,若网络灯不亮,请检查J8跳线帽是否连接(如下标注,需连接上),可用示波器测试此处波形频率为50MHz正弦波。

JLINK下载运行后,使用交叉网线将电脑与开发板连接,点击开始->运行输入cmd出现命令提示符界面,输入ping192.168.1.199,如下图,可以看到Reply from192.168.1.199: bytes=32time<1ms TTL=255则说明开发板与电脑连接正常。LCD显示板卡IP地址,若不需要LCD显示可在main.h中将USE_LCD宏关掉。

MPI例程说明文档

很简单的一个小程序,理解了MPI中的几个基本函数。 以及环境的使用方法。 #include #include"mpi.h" #include #include #include using namespace std; int main(int argc, char *argv[]) { int myid, numprocs; MPI_Status status;//状态记录 MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myid);//myid为当前线程编号 MPI_Comm_size(MPI_COMM_WORLD, &numprocs);//numprocs为该任务总线程数 if (numprocs == 1)//线程数若为1时特殊处理,避免自己向自己发消息的deadlock { int data = 123456; double start = MPI_Wtime(); cout << "data is " << data << endl; cout << "time left " << endl; cout << (MPI_Wtime() - start) << "s" << endl; //输出时间 } else//正文 { if (myid == 0)//对于第一个线程 { int data = 123456, feedback;//记录当前时间start_time,以及数据data double start = MPI_Wtime(); MPI_Send(&data, 1, MPI_INT, (myid + 1) % numprocs, 1, MPI_COMM_WORLD);//向下一进程发送数据 MPI_Recv(&feedback, (myid - 1 + numprocs) % numprocs, MPI_INT, numprocs - 1, 1, MPI_COMM_WORLD, &status);//等待最后一个进程的数据 cout << "data is " << feedback << endl; cout << "time left " << endl; cout << (MPI_Wtime() - start) << "s" << endl; //输出时间 } else//而对于其它进程 { int deliever; MPI_Recv(&deliever, 1, MPI_INT, myid - 1, 1, MPI_COMM_WORLD, &status);//等待上一线程所给数据 MPI_Send(&deliever, 1, MPI_INT, (myid + 1) % numprocs, 1, MPI_COMM_WORLD);//将数据给下一进程

盘点说明书

盘点程序说明书 欢迎使用轻睿科技开发的网络版固定资产盘点程序 一功能概述: 1:条码扫描,二维码扫描,可扫描手机WIFI二维码,读取对方手机WiFi密码。(设置-无线和网络-WLAN-点击列表-扫描二维码) 2:进行条码扫描录入数据,保存到服务器实现数据共享,固定资产盘点功能。 3:语音识别,支持多国语音翻译功能,可语音朗读中英文。 4:隐藏的语音识别功能:(设定,设置,信息,联系人,手电筒,关,闪光灯开,闪光灯关,退出,网络数据,通讯录,时钟,闹钟,QQ,微信,现在几点,几点了,几点啦,相册,救命,着火啦,着火了,起火了,119,110,120,救护车,录音,指南针,计算器,返回,桌面,跑步,跑了多少步,锻炼,记事本,备忘录,音乐,删除资产,天气),点击讯飞语音识别按钮后,可语音唤醒以上功能。 5.多功能计算器,可累积多段分别计算。 6.计步器功能(语音唤醒) 7.报时功能(语音唤醒) 8.高度,速度计,指南针 9.应用程序可手动跟新,下载后存储于手机存储卡根目录fabuban_pandianruanjian.zip,可通过浏览器或者压缩文件管理器打开进行安装。 二盘点功能的使用方法: 1:软件界面

: 2:如何新增资产 第一次使用本软件,数据库内无数据,需要手工建立数据文件,方法: ①点击“扫码”按钮,识别完成后顶部单元格显示条码内容,光标自动转移到中间单元格,请在此单元格内②输入产品型号(例)联想笔记本电脑,PK1353型,人力资源部,张三,重庆市惠普科技有限公司万州观音岩173号,输入完毕,③点击“新增资产”按钮。 此时弹出对话框:确定新增资产吗?请点击确定按钮。

Java Socket实例说明文档

Socket说明文档 Socket连接过程 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。 服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。 客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。 连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。 Java开发一个Server-Client模型的程序 开发原理 服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。 客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。 Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket 了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。

RTU使用说明书

威控科技VControl Technology 北京威控科技产品资料手册 2008.05.18 版 北京威控科技有限公司

RTU-1600 目录1序 (3) 2RTU-1600简介 (4) 2.1系统方框图 (5) 2.2RTU-1600外形图 (5) 3端子排布 (7) 4显示和控制单元 (9) 4.1显示单元 (9) 4.1.1无线网络状态灯 (9) 4.2控制单元 (9) 5系统描述 (10) 5.1RTU-1600的配置 (10) 5.1.1电源供电 (10) 5.1.1.1设置为低功耗模式 (11) 5.1.1.2低功耗模式下操作 (11) 5.1.1.3电源模式的恢复 (12) 5.1.2数字量输入与输出 (13) 3.1.2.1 数字量输入DI0..15 (13) 3.1.2.4 数字量输出DO0..07 (13) 5.1.3模拟量输入 (15) 3.1.3.1 模拟量输入AI0..07 (15) 5.1.4PWM输出 (17) 5.1.5继电器输出 (17) 5.1.6串行接口 (18) 3.1.4.1 RS-232接口 (18) 3.1.4.1 RS-485接口 (18) 5.1.7CDMA1x/GPRS扩展 (18) 5.1.8板载的Flash (18) 5.2RTU-1600的编程 (19) 5.3启动和复位特性 (19) 5.4固件的更新 (19) 6快速开始 (20) 6.1连接编程电缆 (20) 6.2启动RTU-1600 (20) 6.3模拟量的校准 (25) 6.3.1AD的校准 (25) 7技术参数 (26) 8I/O数据类型 (27) 9例程简介 (28) 9.1Modbus串口例程 (28) 9.2Modbus/TCP例程 (28) 9.3PID控制例程 (28) 9.4定时中断例程 (28)

CMOS摄像头循迹例程说明文档

概要 本篇说明文档介绍了基于RX23T单片机的CMOS摄像头图像采集处理程序的编写。主要介绍了如何使用代码生成工具配置本例程所需的UART、简易IIC、外部中断、Port等模块并生成相应的驱动代码,同时对生成的代码文件添加的摄像头驱动与数据存储函数进行了详细说明。后附CMOS摄像头图像采集处理程序源码实例,用户可以结合本例程对RX23T单片机进行摄像头循迹等的拓展应用。 对象MCU R5F523T5A

目录 1.系统功能概述 (3) 1.1 CMOS摄像头循迹原理 (3) 1.2 CMOS摄像头循迹例程功能 (3) 2.系统硬件说明 (4) 2.1 开发板介绍 (4) 2.2 摄像头模组 (4) 2.2.1 模组实物图 (4) 2.2.2接口定义 (5) 2.2.3模组介绍 (5) 2.2.4 OV7620时序分析 (6) 2.2.5图像数据自动存储 (7) 2.2.6 OV7620寄存器设置 (7) 2.2.7 模块连接 (8) 2.2.8图像读取方法 (9) 2.2.9软件滤波算法 (9) 2.2.10黑线中心提取方法 (10) 3.例程软件说明 (11) 3.1 集成开发环境 (11) 3.2 CMOS摄像头循迹例程编写 (11) 3.2.1 e2 studio界面配置 (12) 3.2.2 添加摄像头模块程序 (15) 4.例程测试结果 (26) 4.1 图像采集存储速度测试结果 (26) 4.2 二值化存储测试结果 (27) 4.3 分辨率测试结果 (27) 4.4 开窗测试结果 (29) 5.参考文献 (31) 结束语 (31)

1.系统功能概述 1.1 CMOS摄像头循迹原理 通过图像传感器对实时图像的采集,得到道路的信息,对当前采集到的图像信息做出判断,从而得到道路的情况,之后通过进一步控制实现循迹功能。 1.2CMOS摄像头循迹例程功能 本例程利用OV7620 CMOS摄像头模块成像1米外路径图像(白底一条黑线),将一帧数据转换成“0”“1”镜像到MCU RX23T的RAM中。如图1.1图像二值化存储示例。 图1.1 图像二值化示例

关系数据库多表联合查询例程说明文档_Access

关系数据库多表联合查询例程 说明文档 此文档由北京亚控公司提供,如有疑问请致亚控技术支持工程师。

一、概述 组态王中的KVADODBGrid控件可以用做大批量数据的查询工具使用。但是该控件只能从一个表中提取数据,不能从多个表中联合查询数据。不过数据库提供了一个视图功能,此视图可以从多个表中联合查询,因此我们可以通过视图间接的达到从多个表中联合查询数据的目的。下面以Access数据库为例进行说明。 注:在Access数据库中我们所说的“视图”就是Access对象里的“查询”,而在SQL数据库里就是“视图”了。 二、创建Access查询表 1.如下图示:Access中含有2个表,一个是“抄表数据”,一个是“用户信息”,两表中均含有“电表编码”字段,现在需要通过“电表编码”字段把“抄表数据”表和“用户信息”表部分字段合并成一个新表供查询,即实现跨表查询。

2. 创建Access查询表 1)打开Access数据库,选择【查询】菜单,选中【在设计视图中创建查询】,这时【设计】菜单变为有效,如下图所示: 2)单击【设计】菜单,打开如下图所示视图设计窗口,选中要添加的表,单击【添加】按钮,把表加到“选择查询”的窗口里。 3)对不同表中相同的字段,Access会自动生成关联,如下图所示:

中间的关联线可以右键删除,若要再次添加只需要把左边的“电表编码”鼠标左键点住拉到右边的“电表编码”上即可。 4)选择要联合查询的字段,如下图所示:

4)点【关闭】或【保存】,弹出保存查询对话框,保存建好的查询表。

三、组态王中用KVADODBGrid控件实现多表联合查询 1)建立数据源“info”关联到工程文件夹下的“info.mdb”数据库文件。 2)建立KVADODBgrid Class 控件,在关联数据库的时候,把“视图”选上,即可看到“抄表信息”表,如下图示:

组态王日报表例程说明文档

日报表 例程说明文档 北京亚控科技发展有限公司 2009年6月

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 定义设备 (1) 3.2 定义变量 (1) 3.3 制作画面 (2) 3.4 进入运行系统 (10) 4. 注意事项 (12)

1. 功能概述 常规需求:很多工业现场会用到报表功能,而日报是其中最基本的一种报表形式。 日报表一般为每天整点的数据,每一个变量有24个数据。 组态王中的实现方法: 利用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。 组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。 2. 工程实例 我们举一个例子来说明日报表的实现方法。在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。下面就以此为例来演示完成这一要求的具体步骤。 3. 操作步骤 3.1定义设备 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC -亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。 3.2定义变量 在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)、电压(IO实数类型)、电流(IO实数类型)。 压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

07软件设计说明书模板

份号:001 密级: 装备管理信息系统 软件设计说明书 XXXX-RSJ-R01.00 XXXXXXXX公司 XXXX年XX月XX日

辑要页

文档修改记录

目次 1 范围 (1) 1.1标识 (1) 1.2系统概述 (1) 1.3文档概述 (1) 2 引用文件 (1) 3 CSCI级设计决策 (1) 4 CSCI体系结构设计 (2) 4.1CSCI部件 (2) 4.2执行方案 (3) 4.3接口设计 (3) 4.3.1接口标识和接口图 (3) 4.3.X(接口的项目唯一的标识符) (3) 5 CSCI详细设计 (5) 5.X(软件单元的项目唯一的标识符,或者一组软件单元的标识符) (5) 6 需求可追踪性 (6) 7 注释 (6)

1 范围 1.1 标识 本条应描述本文档所使用的系统和软件的完整标识,适用时,包括其标识号、名称、缩略名、版本号和发布号。 1.2 系统概述 本条用概述本文档所适用的系统和软件用途。它还应描述系统和软件的一般特性:概述系统开发、运行和维护的历史;标识项目的需方、用户、开发方和保障机构等;标识当前和计划的运行现场;列出其他有关文档。 1.3 文档概述 本条应描述本文档的内容和用途,并描述与它的使用有关的保密性方面的要求。 2 引用文件 本章应列出引用文档的编号、标题、编写单位、修订版及日期。还应标识不能通过正常采购活动得到的文档的来源。 3 CSCI级设计决策 本章应根据需要分条给出CSCI级设计决策,即CSCI行为设计的决策(忽略其内部实现,从用户角度出发描述系统将怎样运转以满足需求)和其他影响组成该CSCI的软件单元的选择与设计的决策。如果在需求中所有这些决策是明确的,或者这些决策要推迟到CSCI的软件单元的设计时指出,则本章应如实陈述。针对关键性需求(例如对安全性或保密性关键的需求)作出的设计决策,应在专门的章条中加以叙述。如果设计决策依赖于系统状态或方式,则应指明这一依赖性。本条应给出或引用理解这些设计所需的设计约定。CSCI级设计决策的例子如下: a)关于CSCI 将接收的输入和将产生的输出的设计决策,包括与其他系统、 HWCI、CSCI 和用户的接口(本文档的 4.3.X条指出本说明要考虑的主题)。 如果这一信息的全部或部分已在接口设计说明中给出,则可以直拨引用。 b)有关响应每个输入或条件的CSCI行为的设计决策,包括CSCI 要执行的动 作、响应时间和其它性能特性,模型化的物理系统的说明,选定的方程式/算法/规则,以及对不允的输入或条件进行的处理。 c)有关数据库/数据文件如何呈现给用户的设计决策(本文档的4.3.X 条标识了

组态王报警例程文档

报警系统应用例程 说明文档

此文档由北京亚控公司提供,仅作为KingSCADA3.0报警系统应用的使用参考,其中涉及内容的详细说明请参考KingSCADA3.0的使用说明或咨询技术支持工程师。

目录 1. 概述 (1) 2. 例程 (1) 2.1 定义变量的报警属性 (1) 2.2 报警配置 (3) 2.3 报警显示 (7) 2.4 报警查询 (13) 2.5 报警窗的方法应用 (18) 3. 注意事项 (20)

1.概述 在工业控制系统中,当现场的数据超出正常范围时,系统应以报警的方式将其通知相关工作人员,工作人员接收到报警信息后会对报警做出相应的处理,所以报警系统在工业控制系统中是一个非常重要的组成部分。KingSCADA3.0提供了强大的报警操作功能:包括报警存储功能、报警打印功能、报警显示功能、报警转发功能等等,下面将具体介绍每种功能的操作过程。 2.例程 2.1定义变量的报警属性 在使用报警功能前,必须先要对变量的报警属性进行定义。 在开发系统“数据词典”中新建变量,本工程中我们以模拟量为例。 ●变量名:temperature ●变量类型:基本变量 ●数据类型:Mem Float ●变量描述:温度 ●初始值:0 ●灵敏度:0 ●最小值:0 ●最大值:100 变量temperature的报警属性如图1所示。

图1 变量temperatrue报警属性 ●变量名:pressure ●变量类型:基本变量 ●数据类型:Mem Float ●变量描述:压力 ●初始值:0 ●灵敏度:0 ●最小值:0 ●最大值:5 变量pressure的报警属性如图2所示。

组态王,历史趋势曲线控件例程说明文档

历史趋势曲线 1,功能概述 常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。 组态王中的趋势曲线的实现方法: 1)利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。 2)利用组态王的“插入通用控件”中的“历史趋势曲线”实现。 第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。 第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。许多功能都不需要通过编写脚本的方法实现,使用比较方便。缺点在于无法进WEB 的发布。 工程实例 以一个简单的例程来说明“历史趋势曲线控件”的使用。 操作步骤 1.1创建新工程 打开组态王工程管理器,创建一个新工程。 1.2定义设备 进入工程浏览器,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。此仿真PLC可以做为虚拟设备与组态王进行通讯。仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。具体的寄存器的使用请参考组态王IO驱动帮助。 1.3定义变量 在数据词典中新建两个IO变量,变量名称分别为“压力”、“流量”,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,

组态王报警存储与查询例程说明文档

例程说明文档 北京亚控科技发展有限公司 2016年4月

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 新建工程 (1) 3.2 报警配置 (7) 3.3 进入运行系统 (14) 3.4 历史报警查询 (15) 4. 注意事项 (25)

1. 功能概述 常规需求:很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。 组态王中的实现方法:组态王支持通过ODBC接口将数据存储到关系数据库中,并且提供KVADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。关系数据库可以为Access数据库或者SQLServer数据库。 2. 工程实例 我们通过一个简单的工程对报警信息的存储以及历史报警信息的查询进行讲解。历史报警的查询主要根据日期、报警组为条件进行查询。报警信息存储的数据库以Access 数据库为例进行。下面就以此为例来演示完成这一现场需求的设置步骤。 3. 操作步骤 3.1新建工程 3.1.1定义设备 新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。此仿真PLC可以做为虚拟设备与组态王进行通讯。仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。具体的寄存器的使用请参考组态王IO驱动帮助。 3.1.2定义变量 在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。变量定义画面如下图一、图二所示:

历史趋势曲线控件例程说明文档

历史趋势曲线 例程说明文档

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 创建新工程 (1) 3.2 定义设备 (1) 3.3 定义变量 (1) 3.4 创建趋势曲线 (4) 3.5 添加曲线变量 (5) 3.6 切换到运行系统 (6) 4. 历史趋势曲线控件的特点 (7) 5. 控件的属性、方法 (8) 5.1 控件的属性与方法 (8) 5.2 属性方法的使用举例 (16) 6. 注意事项 (22)

1. 功能概述 常规需求:很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。 组态王中的趋势曲线的实现方法: 1)利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。 2)利用组态王的“插入通用控件”中的“历史趋势曲线”实现。 第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。 第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。许多功能都不需要通过编写脚本的方法实现,使用比较方便。缺点在于无法进行WEB 的发布。 2. 工程实例 以一个简单的例程来说明“历史趋势曲线控件”的使用。 3. 操作步骤 3.1创建新工程 打开组态王工程管理器,创建一个新工程。 3.2定义设备 进入工程浏览器,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。此仿真PLC可以做为虚拟设备与组态王进行通讯。仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。具体的寄存器的使用请参考组态王IO驱动帮助。 3.3定义变量 在数据词典中新建两个IO变量,变量名称分别为“压力”、“流量”,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。这样压力变量就会从0开始自

相关主题
相关文档
最新文档