搜档网
当前位置:搜档网 › sourceinsight宏配置与使用

sourceinsight宏配置与使用

sourceinsight宏配置与使用
sourceinsight宏配置与使用

sourceinsight宏配置与使用指引

kaka/赵肖云

blog: https://www.sodocs.net/doc/529217355.html,/tiananma

深圳桑菲消费通信有限公司

Source insight是一款常用的代码编辑查看管理工具,我们可以利用其本身提供的API函数编写自定义功能的宏,充分体会到它为我们的开发工作带来的便利。

在help,Macro Language Guide中可以看到相关的API:

利用上面的API函数编写一些我们开发工作中常用的宏:

1,打开基础工程,路径通常为:

C:\Documents and Settings\tiananma\My Documents\Source Insight\Projects\Base 2,新建*.em文件,编写自定义的宏,如插入文件头,注释等

rebuild projects

3,执行project-?

将自定义的宏加入菜单:option?Menu Assignments

待加入菜单项

或自定义宏

准备加入的位置

上面的画面中,点Keys…可以同时为其分配快捷键,当然也可以执行option?Key Assignments实现

经上述两步操作后,我们自定义的宏已加入菜单并已分配快捷键了

addNormalComment宏

分配的快捷键

接下来,我们可以根据个人喜好设置自己的颜色方案(是不是觉得白色的背景让人看得并不舒服)

在代码查看主窗口点右键,选菜单Style Properties..,当然也可通过主菜单option ?Style Properties…进入如下画面调整各种项目如注释/普通文字的字体/背景色等等。

到此,基本配置过程已完毕,可以导出自己的配置分享给别人使用

执行命令option--?Save configurations….,会生成一个后缀为CF3的文件。

使用时执行命令option--?

Load configurations….

待设定项目

字体属性

加此环境变量

宏电物联网解决方案

内部 公开
Connecting Machine
物联网解决方案
2009.12
Hongdian, the power of m2m communications

前 言
Connecting Machine
IBM前首席执行官郭士纳提出一个重要观点,认为 IBM前首席执行官郭士纳提出一个重要观点,认为 计算模式每隔15年发生一次变革。1965年前后是 计算模式每隔15年发生一次变革。1965年前后是 以系统性为特征的大型机,1980年前后是以独特 系统性为特征的大型机,1980年前后是以独特 性为特征的个人计算机,而1995年前后则是以共 为特征的个人计算机,而1995年前后则是以共 同性为特征的互联网革命。这一判断像摩尔定律一 同性为特征的互联网革命。这一判断像摩尔定律一 样准确,人们把它称为“十五年周期定律”。 根据“十五年周期定律”,互联网革命在进入成年 的时候将会发生重大变化,这一变化就是物联网。 的时候将会发生重大变化,这一变化就是物联网。 物联网将以拟人性为特征。 物联网将以拟人性为特征。 每一次技术变革都引起企业间、产业间甚至国家间 竞争格局的重大动荡和变化。可见,我们面临着前 所未有的机遇与挑战。 所未有的机遇与挑战。
2010年4月20日
物联网解决方案
Page: 2

提 纲
Connecting Machine
n
物联网概要
n n n n n
网络网概述 物联网系统基本构架 物联网六大特征 物联网支撑技术 物联网关键技术
n n n
宏电物联网产品 宏电物联网解决方案 关于宏电
2010年4月20日
物联网解决方案
Page: 3

宏电DTUGPRS远传实例

GPRS信号监测装置调试 硬件接线图 一、ADAM-4117参数设置 1.将ADAM-4117模块右侧开关拨至INIT(配置状态); 2.打开调试软件https://www.sodocs.net/doc/529217355.html,Utility,选择相应的串口号,右击选择Search,出现对话框(图a),点击Start,直至搜索到模块()后点击Cancel; 图a 3.点击4117(*),配置并保存相应参数,如图(b)。点击右上角的“Applychange”保存设置到模块的芯片里。 图b

二、宏电H7710GPRSDTU模块参数设置 1.断电,打开调试软件sscom32.exe,选择相应串口号,设置相应参数如图c(修改参数的波特率一直为57600); 图c 2.按住空格键,通电,直至出现图d现象; 图d 3.按照帮助指示输入“H”,出现主菜单(图e),输入“C”,再输入密码“1234”,回车,进入DTU配置(C)菜单(图f); 图e图f图g 4.输入“3”,进入“数据服务中心设置(DSC)”菜单(图g), 输入“1”,配置“DSCIP地址”, ;输入“2”,配置“DSC域名”; (注:若已配置固态IP地址,则无需配置域名,即配置域名时按回车键即可;若使用动态IP地址,则将IP地址设为0.0.0.0,域名改为相应的域名地址) 输入“3”,配置“DSC通讯端口”,端口号自己定义,但必须与读取时端口号设置一致;

输入“4”,配置“DNSIP地址”, ,一般设为主站的DNSIP地址;输入“r”,保存设置输入Y或者N。 5.输入“4”进入“用户串口设置”菜单(图h) 图h图i 输入“1”,配置波特率(图i),一般采用9600bps,故输入“4”,再输入“r” 返回菜单; 输入“2”,配置数据位,一般设为8; 输入“3”,配置校验位,一般设为无校验位,故输入“1”,再输入“r”返回菜单; 输入“4”,配置停止位,一般设为1; 输入“r”,返回主菜单。 6.输入“5”,进入“特殊选项设置”菜单(图j) 图j 输入“6”,配置“通讯协议选择(透明0/DDP协议1)” ,一般选择透明,故输入“0”; 输入“7”,配置“网络连接方式(UDP0/TCP1)” ,一般采用TCP连接方式,故输入“1”; 输入“r”,再输入“r”返回主菜单。

宏电DTU参数配置

宏电DTU的参数配置和与DEMO的连接测试 一、DTU的参数配置与下载 1、RS232接口的DTU接线原则:232母头连接线的RXD连接DTU的RS(B-);TXD连 接DTU的TX(A+)。GND接地一定要跟电源的GND相连接。否则通讯不上。 2、RS485接口的DTU接线原则:485+接A+;485-接B-。 3、配置DTU参数的时候一定要把IP设定为公网IP,另外端口映射一定要正确。 4、具体的DTU参数配置如下图所示: 图1.1 在图1中的DSC连接类型中选择UDP连接方式。IP地址设定为公网IP。

在图2中的本地IP也不需要进行设置。 图1.3

在图8中的本地端口和DNS地址不需要配置选择系统默认的就行。 图1.5

图1.6 图1.7

图1.8 配置注意问题: 1、配置过程中一定要注意IP地址是设定公网IP,并且端口号得映射也一定要与本机电脑 在路由器上的映射端口号相一致,否则就会出现连接不上的现象。 2、在配置好参数向DTU下载的过程中一定要先把DTU断电,点击“连接”之后再给DTU 上电,才能连接成功。连接成功之后,点击“全选”然后再点击“设置”就可以把配置好的参数下载到DTU中去。 二、DTU与DSC_DEMO的连接设置 DTU演示系统与DTU的连接过程中,也要对其进行参数设置,否则无法连接成功。具体的 需要设置的参数为:“设置”,如下图所示

图2.1 图2.2 在图2.2中“指定IP”前面一定不能选,服务类型选择UDP,启动类型:自动启动。 图2.3 按照上面的步骤配置完成后,先点击“启动服务”然后再开启DTU电源,连接成功后显示如下的界面。

威纶触摸屏宏指令使用说明

第三十章 宏指令说明 (2) 30.1宏指令的结构 (2) 30.2宏指令的语法 (4) 30.2.1 常量和变量 (4) 30.2.2运算符 (7) 30.3语句 (10) 30.3.1定义语句 (10) 30.3.2赋值语句 (11) 30.3.3逻辑运算语句 (11) 30.3.4 循环语句 (13) 30.3.4其他控制命令 (15) 30.4 子函数 (16) 30.5内置函数功能 (17) 30.5.1 数学运算函数 (18) 30.5.2 数据转换函数 (24) 30.5.3 数据操作函数 (29) 30.5.4 位状态转换 (34) 30.5.5 通讯有关的函数 (37) 30.6 怎样建立和执行宏指令 (52) 30.6.1 怎样建立一个宏指令 (52) 30.6.2 执行宏指令 (57) 30.7 使用宏指令时的注意事项 (58) 30.8 使用自由协议去控制一个设备 (59) 30.9 编译错误提示信息 (67) 30.10 宏指令范例程序 (78)

第三十章宏指令说明 宏指令提供了应用程序之外附加的你所需要的功能。在MT8000人机界面运行时,宏指令可以自动的执行这些命令。它可以担负执行譬如复杂的运算、字符串处理,和使用者与工程之间的交流等功能。本章主要介绍宏指令的语法、如何使用和编程方法等功能。希望通过本章的说明,能够使各位能够快速的掌握EB8000软件提供的强大的宏指令功能。 30.1宏指令的结构 宏指令是由各种语句组成的。这些语句包含常数、变量和各种运算符。这些语句放置在特定的顺序位置以执行后达到一个希望的执行结果。 宏指令的结构一般为以下格式: 全局变量声明-----------------------------------可选 Sub Function Block Declarations(子函数声明) -----------------------------------可选局部变量声明 End Sub(结束子函数) macro_command main() [主函数] ------------------------------------必须局部变量声明 [各式语句]

宏电DTU与力控组态软件联调方法

力控组态软件与宏电DTU联调设置方法 一力控软件配置方法: 1、首先安装好力控软件,双击桌面上力控的快捷图标 点击“新建”,新建一个工程。 点击“确定”按钮,再点击工程管理器上的开发,进入开发系统 会提示找不到加密狗,点击“忽略”进入工程。 2、以下以建立一个modbus通讯设备的GPRS通讯为例,讲解如何利用力控跟Io 设备进行GPRS通讯。

双击“IO设备组态”,则进入IoManager 双击“MODBUS (RTU串口)”,弹出如下窗口:

主要完成以下几个功能:建立设备名称(必须是英文名称,不能用非法字符和数字开头);修改更新周期(相当于数据的更新周期,本参数设置的时间长一些可以节省GPRS流量);修改超时时间;设备地址(与真实硬件设备必须对应);通讯方式选择网桥,是力控特有的通讯机制,次通讯机制为多线程并发方式,通讯效率高更加稳定。完成后点击“下一步” 上图以宏电DTU的UDP通讯方式为例,需要设置端口号和设备ID号码,这些设置要与宏电DTU的设置相同。 点击“下一步”,此设置与DTU设备无关,只跟硬件设备的要求有关,一般情况下不需要特殊设置。

点击“完成”,则设备驱动建立完成 3、建点——建数据库组态连接关闭IoManager,返回到开发系统中。 双击“数据库组态”

在“数据库”处点击右键——新建,选择“模拟I/O点”,点击“继续” 建立点名称tag1(必须是英文名称,不能用非法字符和数字开头),点击“数据连接”

例如我读取设备中03号功能码、地址偏移为1的数据,则按照如上图设置;但是具体设置还是要详细看设备说明书。 如上图,则数据库IO连接建立完成。 4、保存数据库内容,关闭DbManager,进入力控开发系统 在“系统配置”中,双击初始启动程序,把网桥选项勾选上

很好的威纶通通讯协议与变频器通讯案例

本文研究的是触摸屏通过MODBUS RTU通讯协议与变频器通讯实现变频器的控制。触摸屏采用威纶通TK6070IP,变频器用汇川MD380通用系列。通过触摸屏编程软件,编辑控制画面实现变频器的启动、停止、速度调节、多段速速度设置,通过宏指令实现工程值与实际值的转换。 一、MODBUS RTU 简介: 为了在自动化系统之间、自动化系统和所连接的分散的现场设备之间进行信息交换,如今串行现场总线被主要用作通讯系统。成千上万的应用已经强烈地证明了通过使用现场总线技术,可以节省多至40%的接线、调试及维护的费用。仅仅使用两根电线就可以传送现场设备的所有相关信息,比如输入和输出数据、参数、诊断数据。过去使用的现场总线往往是制造商的特定现场总线,并且同其它现场总线不兼容。如今使用的现场总线几乎是完全公开和标准化的。这就意味者用户可以以最合理的价格选择最好的产品,而不用依赖于每个独立的制造商。Modbus RTU是一种国际的、开放的现场总线标准。作为一种很容易实现的现场总线协议,在全世界范围内,Modbus得到了成功的应用。应用领域包括生产过程中的自动化、过程控制和楼宇自控。MODBUS RTU通讯协议的报文如图1。 图1 MODBUS RTU 通讯协议的报文功能码如下: 01H 读取线圈状态。从执行机构上读取线圈(单个位)的内容; 02H 读取离散量输入。从执行机构上读取离散量输入(多个位)的内容; 03H 读取保持寄存器。从执行机构上读取保持寄存器(16位字)的内容; 04H 读取输入寄存器。从执行机构上读取输入寄存器(16位字)的内容; 05H 强置单线圈。写数据到执行机构的线圈(单个位)为“通”(“1”)或 “断”(“0”); 06H 预置单寄存器。写数据到执行机构的单个保持寄存器(16位字); 0FH 强置多线圈。写数据到执行机构的几个连续线圈(单个位)为“通”(“1”) 或“断”(“0”); 10H 预置多寄存器。写数据到执行机构的几个连续的保持寄存器(16位字)。 二、威纶通编程软件介绍: EB8000软件中MODBUS协议的设备类型为0x、1x、3x、4x、5x、6x,还有3x_bit,4x_bit,6x_bit,0x_multi_coils等,下面分别说明这些设备类型在MODBUS协议中支持哪些功能码。0x:是一个可读可写的设备类型,相当于操作PLC的输出点。该设备类型读取位状态的时候,发出的功能码是01H,写位状态的时候发出的功能码是05H。写多个寄存器时发出的功能码是0fH。 1x:是一个只读的设备类型,相当于读取PLC的输入点。读取位状态的时候发出的功能码为02H。 3x:是一个只读的设备类型,相当于读取PLC的模拟量。读数据的时候,发出的功能码是04H。 4x:是一个可读可写的设备类型,相当于操作PLC的数据寄存器。当读取数据的时候,发出的功能码是03H,当写数据的时候发出的功能码时10H,可写多个寄存器的数据。 5x:该设备类型与4x的设备类型属性是一样的。即发出读写的功能码完全一样,不同之处在于:当为双字时,例如32_bit unsigned格式的数据,使用5x和4x两种设备类型分别读取数据时,高字和低字的位置是颠倒的。例如,使用4x设备类型读到的数据是0x,那么使用5x设备类型读到的数据是0x。

宏电智能充电桩解决方案

宏电智能充电桩解决方案 一、应用背景 世界能源需求的不断攀升和自然资源的日益枯竭,对能源供应商、工业企业及消费者都提出了新的挑战,尽可能以高效和可持续的方式使用能源成为了当务之急。电动汽车产业在新能源背景下蓄势勃发,已经成为流行最广、节能环保的绿色出行交通工具,电动车数量在最近几年不断增长。但目前电动车配套的充电器,一次充电经常需要7-8小时,一旦行驶途中没有电能,将使行车人陷入尴尬的境地,这一点对电动车的发展造成了很大的困扰,如何解决充电难,充电时间久,已经成为电动车发展的一个瓶颈。 二、宏电智能充电桩方案架构: 当前充电桩行业面临的主要问题包括: 1、充电桩分布散,车主难以找到充电桩; 2、充电时间长,车主等待时间长,很多车主不愿意等待; 3、充电桩结构复杂,维护管理困难; 4、充电桩位置分布散,包括地下停车场,高速公路都可能需要大量充电桩,管理不便; 针对以上的问题,深圳宏电技术股份有限公司依托自己在互联网+行业丰富的经验,借助丰富的网络接入产品,为充电桩构建了一套基于互联网+的基础解决方案,实现充电桩的智能化,有效的解决了充电桩发展的问题。整个系统包括充电桩系统、接入系统、网络应用平台,运营管理中心以及基于服务平台的终端应用。

宏电智能充电桩系统结构 三、宏电智能充电桩解决方案 宏电智能充电桩解决方案包括一系列的个性化解决方案,结合不同的充电桩设备和需求,采用不同的宏电设备,可以实现从最简单的网络接入,到丰富的网络功能以及应用,满足不同客户不同场景的应用需求。 1、宏电DTU在充电桩无线联网管理中的应用:将宏电DTU嵌入到充电桩内部,与控制系统结合,就可以为中小型充电桩提供快速简单的网络接入以及数据透传。整个宏电智慧充电桩系统由充电桩、宏电DTU、后端网管平台、数据

宏指令使用手册

EasyBuilder 500 Macro使用说明 一:文档说明 作者 : 程志刚 时间 : 2003年1月 版权所有 : 台湾威纶科技有限公司 概要 : 此文档为宏指令功能模块的使用文档,说明宏语言的语法,宏语言的使用,宏指令源程序编写的操作方法与操作顺序, 使用文档包含以下几个部分: 宏语言文本说明: 宏语言使用说明 宏指令程序与PLC的通信(包括本地地址LocalBit,LocalWord): 宏指令操作说明 有关宏指令使用的若干说明 编译错误提示 程序示例源程序 二:宏语言文本说明: 1: 常数与变量 a:常量 (1)十进制常量 (2)十六进常数 (3)单引号内的ASCII常量(字符常量) (4) 逻辑常量:True (非零),False(零) b:变量 (a)变量命名 必须以字每开头,其它字符可以是字每或数字,不得超过32个字符的长度 (b) 数据类型 (char) 字符类型 (int) 整数类型 32-bit (short) 短整数类型 16-bit (float) 浮点数类型 (bool ) 逻辑类型 2: 运算符 (1)赋值运算 赋值运算: = (2)算术运算: 加:+ 减:- 乘:*

除:/ 余:mod , (3)关系运算: 小于:< 小于等于:<= 大于:> 大于等于: >= 等于: == 不等于: <> (4)逻辑运算: 逻辑于:And 逻辑或:Or 逻辑Xor 逻辑非:Not (5)位运算: (a)移位运算 左移: << 右移: >> (b)逻辑位运算 位与运算: & 位或运算: | 位异或运算: ^ 位取反运算: ~ 3: 运算符的优先级: 表达式中执行多个操作时,每一部分都按规定的顺序计算,这种运算符间的计算次序,叫运算符的优先级 (1)同一种类运算符的优先顺序(按左到右,依次从高到低) 算术运算符 : ^ ?( * , / ) ? ( mod ) ? ( + , - ) 移位运算: 其出现的优先顺序,按在表达式中出现的次序从左到右进行处理 关系运算符 : 其出现的优先顺序,按在表达式中出现的次序从左到右进行处理 逻辑运算符 : Not ? And ? Or ? Xor, (2) 算术运算优先于位运算 位运算优先于关系运算 逻辑运算优先于赋值运算 4: 数组 (1)数组 : 只支持静态一维数组,形式为: 一维数组 : 数组名[数组的大小] 数组的下标为整数其可取值区间为0 --- 4294967295 下标最小值:零

威纶通配方——宏指令

/**********************************************************行号刷新——number**********************************************************/ macro_command main() short index,array[10] //数组array[10]是存放行号的数组 bool OFF=false,ON=true GetData(index, "本机触摸屏", LW, 9000, 1)//a用于提取索引寄存器的当前值 array[0]=1+index/70 //索引寄存器的值以700的倍数递增,即以当前页面中占用地址总数为基数 array[1]=array[0]+1 array[2]=array[1]+1 array[3]=array[2]+1 array[4]=array[3]+1 array[5]=array[4]+1 array[6]=array[5]+1 array[7]=array[6]+1 array[8]=array[7]+1 array[9]=array[8]+1 SetData(array[0], "本机触摸屏", RW, 7800, 10) //RW7800~RW7809中存放行号 SetData(OFF, "本机触摸屏", LB, 4, 1) //清零宏指令触发位 end macro_command

/**********************************************************新增——add**********************************************************/ macro_command main() short name[5],temp[5],data[65] short i,var=0,CurtLine=0,index=0,NextLine=0 bool OFF=false,flag=false GetData(CurtLine, "本机触摸屏", RW, 8000, 1) //获取RW8000的值,即保存的行数 GetData(name[0], "本机触摸屏", LW, 0, 5)//获取LW0的值,即输入的配方名 GetData(data[0], "Panasonic FP", DT, 32700, 65)//获取当前HMI的数据输入值 //判断数据表是否填满,若未填满,则判断是否有重名 if CurtLine==100 then flag=true SetData(flag, "本机触摸屏", LB, 22, 1) else //判断是否有重名 for i=0 to 99 step 1 GetData(temp[0], "本机触摸屏", RW, var, 5)//遍历每一行的配方名 if name[0]==temp[0] and name[1]==temp[1] and name[2]==temp[2] and name[3]==temp[3] and name[4]==temp[4] then

威纶通触摸屏内部寄存器说明

威纶通触摸屏内部寄存器说明 威纶通触摸屏内部寄存器说明 LB-9000 : 重新开机时状态为Local HMILB ON9000LB-9001 : 重新开机时状态为Local HMILB ON9001LB-9002 : 重新开机时状态为Local HMILB ON9002LB- 9003 : 重新开机时状态为Local HMILB ON9003LB-9004 : 重新开机时状态为Local HMILB ON9004LB-9005 : 重新开机时状态为Local HMILB ON9005LB-9006 : 重新开机时状态为Local HMILB ON9006LB-9007 : 重新开机时状态为Local HMILB ON9007LB-9008 : 重新开机时状态为Local HMILB ON9008LB-9009 : 重新开机时状态为Local HMILB ON9009LB-9010 : 资料下载指示Local HMILB LB-9011 :资料上传指示Local HMILB LB-9012 :资料下载Local HMI/ 上传指示LB LB-9013 :隐藏Local HMI (设ON)/LB 显示 LB-9014 :隐藏Local HMI (设ON)/LB 显示 LB-9015 :隐藏Local HMI (设ON)/LB 显示 LB-9016 :远程Local HMI HMI 连接至本机LB LB-9017 :取消Local HMI PLC 控制元件LB LB-9018 :隐藏Local HMI (设ON)/LB 显示 LB-9019 :取消Local HMI (设ON)/LB 开启 LB-9020 :显示Local HMI (设ON)/LB 隐藏 LB-9021 :重置当前的事件记录Local HMILB ——————————————

宏电H7710DTU-GPRS远传实例

宏电H7710DTU-GPRS远传实例

GPRS信号监测装置调试 硬件接线图 一、ADAM-4117参数设置 1.将ADAM-4117模块右侧开关拨至INIT (配置状态); 2.打开调试软件https://www.sodocs.net/doc/529217355.html, Utility,选择相应的串口号,右击选择Search,出现对话 框(图a),点击Start,直至搜索到模块()

后点击Cancel; 图a 3.点击4117(*),配置并保存相应参数,如图(b)。点击右上角的“Apply change”保存设置到模块的芯片里。 图b 二、宏电H7710 GPRS DTU模块参数设置 1.断电,打开调试软件sscom32.exe,选择相应串口号,设置相应参数如图c(修改参

数的波特率一直为57600); 图c 2.按住空格键,通电,直至出现图d现象; 图d 3.按照帮助指示输入“H”,出现主菜单(图e),输入“C”,再输入密码“1234”,回车,进入DTU配置(C)菜单(图f);

图 e 图 f 图g 4.输入“3”,进入“数据服务中心设置(DSC)”菜单(图g), 输入“1”,配置“DSC IP地址(公网 地址,http//:192.168.1.1)”, ;输入“2”,配置“DSC 域名”;

(注:若已配置固态IP地址,则无需配置域名,即配置域名时按回车键即可;若使用动态IP 地址,则将IP地址设为0.0.0.0,域名改为相应的域名地址) 输入“3”,配置“DSC 通讯端口”,端口号自己定义,但必须与读取时端口号 设置一致; 输入“4”,配置“DNS IP地址”, ,一般设为主站的DNS IP地址;输入“r”,保存设置输入Y或者N。 5.输入“4”进入“用户串口设置”菜单(图h)

威纶通软件应用案例

软件应用问题: 1、程序画面出现无法切换页面现象 问题描述:HMI在快速切换时出现死机现象,无法切换页面; 解决思路:1、客户采用元件—PLC控制—切换基本窗口的功能切换页面;并采用宏命令执行窗口切换; 2、在宏指令中增加delay函数,放慢宏指令的执行速度,因为如果不加延时宏指 令则会执行速度太快,导致page变量在0-102或0-107瞬间变化,从而无法切换 画面。 修改后的宏指令如下图所示: 2、对多个PLC寄存器数据同时递减运算问题 问题描述:对多个地址的寄存器数据递减运算,如PLC的D20—D29,初始值是 9,8,7,6,0,1,2,3,4,5。每触控一次按键就作为减一处理,直到全部为0(不能 为负值)。 解决思路:1、使用功能键触发一个宏指令处理,但出现数值递减后为负(-1,-2,-3......)或跳转到65535的的情况。出现负值的原因是数值显示元件没有选择格式为 16-bit unsigned;出现65535的原因是,宏指令中定义的数据格式是unsigned short短整型变量,范围是0---65535.零减一,溢出,变成65535。 2、加入逻辑判断,修改后的宏指令如下图所示:

3、远程备份事件记录不能成功 问题描述:建立事件远程备份时,使用旧程序成功,新建一个程序不成功。 解决思路:1、检查EB8000系统参数配置和EasyPrinter配置正确。 2、新建程序中,事件登录没有选择保存位置,即只在内存中存在报警记录,故 HMI或U盘中没有可以备份的历史记录,此程序无法备份。将“事件登录”选择 保存位置即可。具体操作如下图所示: 4、EB8000宋体载入问题 问题描述:某客户使用EB8000软件,无法载入宋体。 解决思路:1、检查客户的电脑操作系统,该操作系统为双系统,win7和xp系统,win7系统

威纶通配方——宏指令

威纶通配方——宏指令

/**********************************************************行号刷新——number**********************************************************/ macro_command main() short index,array[10] //数组array[10]是存放行号的数组 bool OFF=false,ON=true GetData(index, "本机触摸屏", LW, 9000, 1)//a用于提取索引寄存器的当前值 array[0]=1+index/70 //索引寄存器的值以700的倍数递增,即以当前页面中占用地址总数为基数 array[1]=array[0]+1 array[2]=array[1]+1 array[3]=array[2]+1 array[4]=array[3]+1 array[5]=array[4]+1 array[6]=array[5]+1 array[7]=array[6]+1 array[8]=array[7]+1 array[9]=array[8]+1 SetData(array[0], "本机触摸屏", RW, 7800, 10) //RW7800~RW7809中存放行号 SetData(OFF, "本机触摸屏", LB, 4, 1) //清零宏指令触发位

end macro_command /**********************************************************新增——add**********************************************************/ macro_command main() short name[5],temp[5],data[65] short i,var=0,CurtLine=0,index=0,NextLine=0 bool OFF=false,flag=false GetData(CurtLine, "本机触摸屏", RW, 8000, 1) //获取RW8000的值,即保存的行数 GetData(name[0], "本机触摸屏", LW, 0, 5)//获取LW0的值,即输入的配方名 GetData(data[0], "Panasonic FP", DT, 32700, 65)//获取当前HMI的数据输入值 //判断数据表是否填满,若未填满,则判断是否有重名 if CurtLine==100 then flag=true SetData(flag, "本机触摸屏", LB, 22, 1) else //判断是否有重名 for i=0 to 99 step 1 GetData(temp[0], "本机触摸屏", RW, var, 5)//遍历每一行的配方名

宏电模块设置步骤(最终版)

宏电模块设置步骤 第一步:双击软件启动图标,运行软件。 第二步:软件运行后,会出现设置界面 第三步:在设备断电的情况下,点击界面上打开串口的按钮,再点击连 接。 第四步:给设备上电。 第五步:输入密码1234 备注:如显示连接超时或不通,检查通讯串口线及端口是否开通。 第六步:选择配置列表里的移动服务设置。

。 第七步:将配置项里的服务代码及接入点名称勾选并填写正确。 第八步:选择配置列表里的DTU设置。 第九步:将配置项里的DTU标示设置为SIM卡的号码

第十步:选择配置列表里的通道1 第十一步:将配置项里的DSC IP、DSC通讯端口、连网方式勾选并分别设置为公网固定IP,所开通的侦听端口及TCP-CLT 第十二步:点击配置列表里的通道1下的高级配置 第十三步:勾选配置项里的启用DDP协议,并选择“是” 第十四步:点击配置列表下的串口设置

第十五步:勾选配置项里的选择并将波特率设置为9600,数据位设置为8,停止位设置为1,校验位设置为无,流控制设置为无。 第十六步:点击界面上方配置按钮 第十七步:当出现配置成功的提示后,点击保存后再点击关闭串口 的按钮或直接点击关闭串口的按钮均可。 第十八步:重启设备即重新开关机设备一次。 第十九步:查看通讯模块指示灯是否正常闪烁。 第二十步:断电取下连接线,与设备重新连接后再供电,让设备正常运行。 注意事项: 1.sim卡要放置在通讯模块中。 2.禁止热插拔任何一条通讯线及sim卡 模块不上线的原因如下: 1.sim卡欠费停机或未开通GPRS业务。 2.该地区移动公司变更业务导致。 3.天线未露出机箱外。 4.该地区信号强度极弱或无信号。

宏电GPRS-DTU_H7210配置说明-整理

宏电GPRS-DTU_H7210配置说明 一、应用宏电H7000系列管理工具软件,配置DTU方法如下: 1.硬件连接,配置DTU时(以RS—485为例),11和12端子接电源,2和3 端子接232/485协议转换器的485端的D-/B和D+/A,232端通过USB/232转换器接入电脑的USB口。 2.DTU配置:打开H7000系列管理工具软件,参数设置如下: 初始连接DTU设备时,“连接设置”菜单中,波特率选择57600,数据位8,校验位None,停止位1。配置完后,点击“连接设备”,看连接设备是否成功。连接成功后,如下: 通道1:与DSC的通讯方式1:UDP+DDP DSC的端口1:5003(与组态王默认的端口号一直) DCS的域名1:若无固定IP,花生壳等域名解析软件申请的上位机固 定域名(有免费试用的,还有付费使用的,可自行选 择)。 运行参数:DTU身份识别码:可填写为手机号码(手机SIM卡必须可以访问 2G的网络) 调试信息:选INFO时,打开“命令交互”窗口,自动检测设备连 接状态,及信号强弱:信号强弱以0—31数值表示, 数值越大,信号越好。 “交互命令”检测没问题后,要把调试信息改为“OFF”。 RTU连接设置参数:波特率9600,数据位8,校验位:无,停止 位1,与PLC的Modbus参数相同即可。 注意:参数配置完后,要点击“设置参数”,待参数设置成功后,要点击“重 启设备”,待设备重启后,“交互命令”窗口才有效。 3.上位机要运行花生壳等域名解析软件,并保证域名解析正确。 上位机通过路由器上公网,需要做端口映射,进入路由器设置界面,在虚拟服务器内,做端口映射(5003),另外需要把上位机的IP地址设置为静态IP,如下图:

组态王通过宏电GPRS DTU与S7-200(modbus协议)通讯

组态王通过宏电GPRS DUT连接S7-200测试过程 一、简介 对于远程数据监控的系统,目前组态王提供了多种网络监控方式。其中,基于中国移动公司移动服务网络的GPRS(通用分组无线业务)服务或中国联通公司的CDMA(码分多址)服务,组态王提供了一种无线远程数据交换解决方案。采用此种数据交换方案,用户需要为计算机申请公网IP地址或域名及现场设备上连接支持GPRS或CDMA服务的DTU模块,适合于有移动网络覆盖的远程的数据采集系统。 目前组态王软件支持包括深圳宏电、深圳倚天、厦门桑荣、唐山蓝迪、北京艺能、北京汉智通、台湾尉普、福州利事达、上海蓝峰、福建实达、北京爱立信、北京欧特姆、航天金软、力创LQ-8200、实达TCP、嘉复欣、蓝天顶峰(NETJET)等厂家的DTU模块。 本文主要以组态王软件与宏电GPRS DTU模块采用GPRS方式与西门子 PLC设备进行通信为例讲解此方案的实现方法。 (有关宏电DTU产品的详细情况请咨询宏电公司。) 二、软硬件环境 Window XP(SP2)操作系统 Kingview6.53(组态王) 宏电GPRS DTU H7710模块 S7-200西门子PLC CPU 222CN 移动电话卡(开通GPRS功能全球通卡) 三、宏电GPRS DTU配置: 要使用DTU模块进行通信,首先必须进行DTU设备的配置,使其适合工作环境。 1.DSC DEMO 设置 调试DTU 需要在中心启动DSC DEMO 程序,用于向DTU 发送和接收从DTU 发来的数据,它的运行操作界面如下:

点击服务设置,出现如下图界面: 服务类型:UDP 和TCP 协议选择(根据用户对DTU 协议的设置选择,本例以UDP 为例);服务端口:DSC DEMO 侦听端口(1~65535),用户自定义设置(本例以5007 为例); 指定IP:该功能在PC 具有多IP 地址时使用,用于设置接收数据和发送数据所用IP 地址;(如果中心有多IP 的情况下,不指定IP 地址,有可能导致DTU 无法和DSC DEMO 建立连接。) 设置完毕后点击确定按钮,点击启动按键,如下图界面所示:

宏电DTU DDP协议规范 V30

H7710S-DDP协议 1 数据帧格式 1.1 DTU端发送的协议包 1.2 DSC端发送的协议包 1.3 字节序说明 协议内容中所涉及的短整型和长整型数据字段,均要采用网络字节序。

发送方要先将本地字节序转换成网络字节序,接收方在使用前要转换成本地字节序。 2 帧内容 2.1 注册包 2.1.1 终端注册(DTU-->DSC) 2.1.2 注册应答(DSC->DTU) 2.2 注销包 2.2.1 终端注销DTU->DSC 2.2.2注销应答包DSC->DTU 注:DSC 可以主动发送此指令让DTU 重新启动

2.3 发送用户数据包 2.3.1 DTU 发送给DSC 的数据包 2.3.2 DSC 应答收到正确数据包(一般不用) 2.3.3 DSC 发送给DTU 的数据包DSC->DTU 2.3.4 DTU 应答收到正确数据包(一般不用) 2.4 参数DTU查询 2.4.1 查询DTU 参数(DSC->DTU) 查询类型:

0x00查询所有参数 0xN1查询移动服务参数 0xN2查询RTU参数 0xN3查询SMS设置参数 0xN4查询运行参数 0xN5查询系统参数 0xN6 查询IP通道参数 N7~0xFF 保留 其中N1——N7的值应与参数定义中的大类ID一致。 为统一处理,查询结果均采用分包方式。同时简化流程控制,采用一问多答的方式,即DSC 发出查询请求后,DTU组织查询结果,将返回结果拆分成1个或多个包,然后依次上传,每个分包包含分包标识、包序号和总包数。具体说明如下: 请求序号用于参数查询分包处理,该字段可能为空,也可能为n个字节,每个字节代表一个请求序号。 DSC首次发出参数查询请求时,该字段一定为空; 如果当前查询内容需要分包,DSC在收到DTU的回复后,如果发现丢包,会再次发出查询请求,此时会将请求序号字段置为此次需要查询的包序号序列。 例: DSC--->>>DTU: 7b 8b xx xx .... xx 00 7b 请求查询所有参数 DTU--->>>DSC: 共有四个分包,DSC只接到了其中的第一个和第三个分包 DSC--->>>DTU: 7b 8b xx xx .... xx 00 02 04 7b 请求第二个和第四个分包 请求查询所有参数 DTU--->>>DSC : 重发上次的第二个和第四个分包 2.4.2 正确查询DTU 参数应答包(DTU->DSC) 协议包格式: 选项数据=分包信息+查询参数 分包信息=分包标识+总包数+包序号 分包标识=0x00 总包数=M ( M>=N ) 包序号=N ( N >= 1 ) 分包信息的三个字段长度均为1字节。

威纶通人机界面宏指令执行机制说明

威纶通人机界面宏指令执行机制说明 2013.06 Q:一般会有多个宏指令同时被触发,那么多个宏指令并发执行的机制是什么,是顺序执行还是如何?如何避免多个宏指令同时执行时发生碰撞冲突?如何排序各个宏指令的周期式执行? A: ●【HMI分时系统】HMI是一个time-slicing分时系统;PLC控制,事件登录各部分独立运作,没有优 先权。HMI会平均把命令丢给COM口的序列,COM依次执行; ●【顺序执行机制】宏指令执行时,依照宏指令编号顺序, 依序检视宏指令是否被触发执行。 ●【不存在碰撞的问题】因PLC的COM port就是一个,不可能同时执行两个MACRO的读写; ●【一执行,余闲置】当某一条宏指令在执行时, 其余的宏指令将处在idle闲置状态; ●【等待时交出执行权】执行中的宏指令,如读写到PLC地址或DELAY动作时, 会将命令发送到 command queue中, 并等待命令执行完成的讯息。而在将命令发出的同时,会将执行权交给下一条等待执行的宏指令; ?如:同一个LB0上升沿触发多个宏指令(macro 0、macro1、macro2......macro7),那么将先执行 macro 0,然后执行macro2,继而是macro3...... ?在执行macro 0时,如果读写到PLC地址或DELAY(dleay_tme)动作,那么会等待回复,并把执行 权交出,先执行macro1; ?Macro1同样如此,如果读写到PLC地址或DELAY(dleay_tme)动作,那么会等待回复,并把执行权 交出,先执行macro3...... ?一直到macro7,然后再从macro0继续,如此反复循环; ●【等待被检视机制】接收到命令完成讯息的宏指令, 也不是立即恢复执行状态, 而是等到下一次被检 视时, 才会恢复执行状态; ●【周期执行方式】如需周期式执行宏指令, 可以利用物件设定触发周期, 或是直接设定宏指令的执行 周期(EB8000 V4.65.06) ●【多个位信号触发同一个宏指令的顺序】宏指令被触发执行后,假使仍处于执行状态,则不再接受 其它触发讯号,因此宏指令在执行状态时,并不会因被触发多次而多次执行。 ●【人为控制】如有需要控制宏指令的执行顺序, 用户可以利用同步与异步的命令来控制; ASYNC_TRIG_MACRO 异步触发宏指令 [Description] This function will trigger the designated MACRO and continue the next instructions. 此函数将触发指定宏指令,并继续执行接下来的接下来的指令; [Usage] ASYNC_TRIG_MACRO(macro_id) // macro_id is a constant or variable [Example] ASYNC_TRIG_MACRO(5) // execute MACRO 5 SYNC_TRIG_MACRO 同步触发宏指令 [Description] This function will trigger the designated MACRO and wait for the end of the execution of this designated MACRO. 此函数将触发指定宏指令,并等待指定宏指令执行完毕; [Usage] SYNC_TRIG_MACRO(macro_id) // macro_id is a constant or variable [Example] SYNC_TRIG_MACRO(5) // execute MACRO 5

关于威纶通宏指令的2份实用案例

关于威纶通宏指令的2份实用案例 威纶通宏指令控制PLC点位断电保持的案例 触摸屏是TK6070iP ,PLC是欧姆龙CP系列 需要达到的目的:触摸屏上的按钮按下时,同时控制PLC上的点动作 EB8000提供了可以掉电保存的寄存器RW和RW_A两种寄存器来实现配方的保存和传送。在此选择了保持寄存器的位地址为RW_Bit 2(具体地址可以自主选择,只要选择的寄存器可以断电保持的就可以); 威纶通的触摸屏无法直接通过屏幕上的按钮控制PLC的实际输入点,需要通过中间变量点(非PLC的实际输入点)来实现控制,在此选择中间变量点CIO_Bit 19.10一、在屏幕新建一个“位状态切换开关”元件,各设置如下

二、为了在测试时便于观察,可以在屏幕上新建两个位状态指示灯

三、因为断电保持的是RW_Bit 2的数据,而CIO_Bit 19.10不能保持,所以需要另外一个宏指令上电时读取RW_Bit 2的数据,并且写入CIO_Bit 19.10。新建一个“位状态设置”元件。(要把此元件放在触摸屏上电开机之后的第一页面中)

这里的位地址不一定要用RW_Bit只要不和其他数据地址冲突就可以使用。 四、宏指令 [ID:000] Macro_0 macro_command main() bool d GetData(d, "Local HMI", RW_Bit, 2, 1) if d==1 then SetData(d, "OMRON CJ/CS/CP", CIO_Bit, 19.10, 1) else if d==0 then SetData(d, "OMRON CJ/CS/CP", CIO_Bit, 19.10, 1)

相关主题