文档库 最新最全的文档下载
当前位置:文档库 › 昆腾学习手记Unity_Pro

昆腾学习手记Unity_Pro

ClearIP位置设定为默认IP:Premium的默认IP地址85.16.X.X;M340的默认IP地址84.X.X.X
变量定义:
1、IO地址其实应该是IODDT中的隐式交换对象;
2、I/O地址表示方法%--I/Q--X/W/D--r.m.c.d.j;
3、全局内存地址字段%M,%MW,%KW,大小根据所用CPU型号而不一样;
4、功能块包括标准功能块和用户自定义功能块类型的实例;
5、施耐德PLC定时器和计数器通过引用标准功能块EFB实例使用;
6、施耐德PLC数学运算通过引用标准功能EF使用,也可以用操作块套用ST指令的方式(较方便);
7、PLC时间更新流程,首先设%s50为1,然后修改%sw50到%sw53的时间值,再设%s50为0,就ok;
8、系统位%s12,PLCRUNNING,PLC处于运行模式;%s13,PLC运行模式第一周期;%s21
9、系统位%s4(时基10ms),%s5(100ms),%s6(1s),%s7(1m);
10、系统字%sd18,绝对时间计数器,每0.1s累加1,除PLC断电外,其余(如运行,停止状态)都工作;
11、系统字也可做位操作(字提取的位),如%sw17,浮点运算错误状态字,%sw17.0到%sw17.4表示不同的错误类型;
12、系统字%sw49到%sw53,BCD格式,为实时时钟,%sw49(值从1到7)表示星期几;%sw50:秒(16#SS00),%sw51:小时和分钟(16#HHMM);%sw52:月和日(16#MMDD);%sw53:年(16#YYYY);
13、系统字%sw70(WEEKOFYEAR),一年中的星期的数量:1到52;

=================================================================================================
=================================================================================================
=============
=数据类型分类=
=============
1、基本数据类型EDT(elementary data types),导出的数据类型DDT(derived data types)(或者叫自定义数据类型:结构和数据表<数组>);
2、基本功能块类型EFB(elementary FB),导出(自定义)的功能块类型DFB(derived FB);
3、在上述两大类数据类型基础上,声明相应实例(变量和功能块),然后引用(某些特定实例可以通过地址引用);
4、DDT定义为结构的时候类似于simens的数据块,是一个数据区;
5、之所以称为导出数据类型或者导出功能块,是因为新定义的这些数据类型和功能块可以导出为文件用在新程序重复使用;

布尔数据类型:
1、BOOL量占用一个内存字节中的1位;
2、EBOOL量占用一个内存字节中的3位(当前状态、以前状态和强制状态);
3、所以在形式参数与实际参数之间赋值时候有一定的兼容性,要注意...

整数、双整数的表示:
1、一个数(有符号或者无符号);
2、以2#,8#,16#开头的无符号数;

时间类型:
1、以毫秒来计算的时间;
2、一个32位的无符号整数;
2、最大为T#49D_17H_2M_47S_295MS;

BCD格式的数据:
1、日期D

ATE(32):D#1990-01-01;
2、日时间TIME_OF_DATE(32):TOD#00:00:00;
3、日期和时间DATE_AND_TIME(64):DT#1990-01-01-00:00:00

实数类型:
1、一个32位的浮点数,必然有正负;
2、最大最小都一个范围;

字符串类型:
1、注意语法规则;
2、字符串的最大尺寸是65534个字符;
3、声明STRING时默认长度为16字符;
4、可以声明STRING[n]来定义字符串的长度;
5、注意转义符$的使用;

位串格式的数据类型:
1、不表示数值;
2、只表示一个一个独立位的组合;
3、一般用作布尔操作;
4、分为BYTE,WORD,DWORD;

DDT数据类型的内存占用:
1、元素按照被声明的顺序进行存储;
2、基本元素是字节(在内存字节上的数据对齐);
3、每一个元素都一个对齐规则:
3.1 BOOL和BYTE类型在奇数和偶数字节都要进行对齐;
3.2 所有其他基本类型都在偶数字节进行对齐;
3.3 结构和数组如果只包含BOOL和BYTE,那么按照BOOL和BYTE类型的对齐规则进行对齐,否则
他们则在内存的偶数字节对齐。

IODDT数据类型:
1、IODDT结构由厂商预先定义好了;
2、组成IODDT结构的元素没有连续的内存分配,但在模块中拥有一个明确的地址;
3、里面包含专用模块的一些配置信息或状态反馈信息;
4、例如:In each IODDT we find a set of language objects that enable us to control them and check their correct operation.

功能块数据类型:
1、包括用户功能块DFB和基本功能块EFB数据类型;
2、DFB由用户自己通过PLC语言编写;
3、EFB由厂商提供,用C语言编写;
4、此类型数据类似于simens的FB背景数据块;

泛型数据类型:
1、通过前缀ANY_xxx来识别;
2、具体系类参照资料;

====================================================================================
================
=数据类型实例引用=
================
1、仅仅一个名称(符号),我们称之为非定位型数据,因为它没有定义内存地址,
它在内存中的物理位置由PLC操作系统进行管理并自动分配,用户不知道也不用知道;
2、有厂商定义的一个名称(符号)和一个拓扑地址,我们称之为定位型,因为它有已知的内存地址;
3、由厂商定义的一个拓扑地址,我们称之为直接寻址,也有已知的内存地址;
4、直接寻址:
内部 常数 系统 输入/输出 网络
%Mi %Si %Q, %I
%MWi %KWi %SWi %QW, %IW %NW..
%MDi %KDi %SDi %QD, %ID
%MFi %KFi
5、字提取的位:%MW.、%SW.、%NW...和%Si 为BOOL量;

6、字提取位,可以提取单字(%MW,%SW,%KW,%QW,%IW)的16位中的一位;
7、%Mi,%Q,%I则为EBOOL量;
8、间接寻址:
等价关系 %MW[index] <==> %MW 注:索引必须为正整数或正整数的算术表达式
等价计算的规则如下:
对象[索引] 对象
%M[表达式] =+<表达式>
%MW[表达式] =+<表达式>
%KW[表达式] =+<表达式>
%MD[表达式] =+<表达式>*2
%KD[表达式] =+<表达式>*2
%MF[表达式] =+<表达式>*2
%KF[表达式] =+<表达式>*2
例子: %MD6[10] <==> %MD26 ; %MW10[My_Var+8] <==> %MW20 (当My_Var=2时)
9、位和字数据表(数组)261页
OBJECT:L OBJECT为%Ix,%Qx,%M,%MW,%MD,%MF,%KW,%KD,%KF,以及系统字%SW50:4

===============================================================================================

梯形图LD语言:
1、ST指令的使用,操作块,除控制指令外的所有ST指令;
2、简单比较块,<,>,<=,>=,=,<>;

指令表IL:
1、IL被称为面向累加器的语言,即,它的每一个指令都会用到或者更改累加器的内容;
2、基于上述原因,指令表总是以LD运算符开始(“加载累加器命令”);

结构化文本ST:
1、ST编程语言通过“表达式”来工作;
2、指令是ST编程语言的“命令”,指令必须通过分号来中止;在一行中可以包含多个指令(分号分开);

=====无论如何,多看系统标准功能和功能块,里面有很多在别的PLC内作为指令出现的运算=====

初步故障查询:
1、M340上次关闭的日期和时间,可以查看%SW54--%SW58;
2、%SW58的最低有效字节可以查询上次PLC关闭的原因;
3、有关软件故障类型的详细信息存储在%SW125中。





相关文档 最新文档