罗克韦尔(AB)PLC讲解,3、学会创建标签、结构体和数组
在本实验中,我们将结合应用实例继续前面的工作,创建相应的标签、结构体和数组。Logix 控制器的特点:无需手动进行 I/O 映射,根据控制属性,自动创建/命名标签,并且支持结构体和数组。另外,控制器域和程序域标签分类提高了代码重用性。
1. 创建控制器域和程序域的标签
2. 创建用户自定义数据类型
实验步骤:
1.双击桌面上 图标,打开 RSLogix5000 软件。
2. 选择 File->Open,选择上一实验所创建项目 P1 并打开。
3. 右键单击 Controller Tags(控制器标签),在弹出的菜单中选择 New Tag…(新建标签)。Tag Name 类似于其它编程语言中的变量-它们均用于存储数值。你可以根据 P&ID
(管道仪表图)或电气设计图中的符号名称来命名标签(Tag Name)。您在此输入标签名
称会保存在 PLC 中,不会因为更换用于编程的上位机而丢失。且这些 Tag Name 可供系统中的人机界面直接使用,而无须重新定义。这都会为您的编程、文档管理和系统维护带来 极大的便利。 在对话框中输入名称 Call_Program_Value,数据类型 INT,标签类型为 Base
(基本型),范围为 P1(Controller),显示类型为 Decimal(十进制),如图 2-13 所示。
4. 按照上述步骤逐个创建以下控制器域的标签,如图 2-14 所示,这些标签将在下一
实验中用到。
5. 创建下面的 Conveyor 程序域内的标签,如图 2-15 所示。
6. 创建下面的 Station_Dispatcher(站调度)程序域的标签如图 2-16 所示。
7. 创建下面的 Program_1_Press(冲压站)程序域的标签,如图 2-17 所示。
将 Program_1_Press(冲压站)程序域的标签复制(Ctrl+C)并粘贴(Ctrl+V)到Program_2_Stake 和 Program_3_Weld 程序域内,无须重建标签,提高代码重用性。在此我们注意到,在 Logix 控制器中,不同程序域内的标签名称是可以相同的。
9. 创建用户自定义数据类型。在控制器 P1 中为每个压缩机生成一个产品编号
( Product ID ),每个产品编号由零件编号( Part_ID)、序列号( Serial_No)和目录号
(Catalog_No)三部分构成。使用用户自定义数据结构 可以更方便的管理这种数据类型的 标签。
如图 2-18 所示,右键单击 Data Type 文件夹下 User-Defined(用户自定义),在弹出的
菜单中选择 New Data Type…(新建数据类型)。
10. 在弹出画面中输入自定义数据类型的 Name(名称)和 Members(成员),如图 2-19 所示。此时,你创建了一个自定义的数据类型,如果需要在例程中使用它,必须创建相应 的标签。
11. 在 Controller Scop(e 控制器域)内创建数据类型为 Product_ID 的标签 Station_Data。
如图 2-20 所示:
12. 保存该项目。
至此,您已完成标签、结构体和数组创建的相关实验!
西门子PLC STL编程指令中英文对照表,收藏备用!
1、LD ( Load 装载 ) :动合触点
2、LDN ( Load Not 不装载 ) : 动断触点
3、A ( And 与 动合) : 用于动合触点串联
4、AN ( And Not 与 动断 ) :用于动断触点串联
5、O ( Or 或 动合 ) :用于动合触点并联
6、ON ( Or Not 或 动断 ) : 用于动断触点并联
7、= ( Out 输出 ) :用于线圈输出
8、OLD ( Or Lode): 块或
9、ALD ( And Lode): 块与
10、LPS ( Logic Push ) :逻辑入栈
11、LRD ( Logic Read ) :逻辑读栈
12、LPP ( Logic Pop ) :逻辑出栈
13、NOT ( not 并非 ) :非
14、NOP ( No Operation Performed ) : 无操作
15、AENO ( And ENO ) :指令盒输出端ENO相与
16、S ( Set 放置 ) : 置1
17、R ( Reset 重置,清零 ) :清零
18、P ( Positive) :上升沿
19、N ( Negative) :下降沿
20、TON ( On_Delay Timer ) :接通延时定时器21、TONR ( Retentive On_Delay Timer ) : 有记忆接通延时定时器
22、TOF ( Off_ Delay Timer ) :断开延时定时器
23、CTU ( Count Up ) : 增计数器
24、CTD ( Count Down ) : 减计数器
25、CTDU ( Count Up/ Count Down ) :增减计数器
26、ADD ( add 加 ) : 加注意
//ADD_I (_ I 表示整数)
ADD_DI( DI表示双字节整数)
ADD-R (R 表示实数)
它们都是加运算只是数的大小不同。
27、SUB ( Subtract 减去,减少) :减
28、MUL ( Multiply ) : 乘
29、DIV ( Divide ) : 除
30、SQRT ( Square root ) : 求平方根
31、LN ( Napierian Logarithm 自然对数 ) : 求自然对数
32、EXP ( Exponential 指数的 ) :求指数
33、INC_B ( Increment 增加 ) :增1
//其中_B代表数据类型 还有W(字节)、DW双字后面几个都是这样的。
34、DEC_B ( Decrement 减少 ) :减1
35、WAND_B ( Word and 与命令 ) :逻辑与
36、WOR_B ( Word or 或命令) : 逻辑或
37、WXOR_B ( Word exclusive or 异或命令) :逻辑异或
38、INV_B ( Inverse 相反 ) : 取反
39、MOV _B ( Move 移动 ) :数据传送
40、BLKMOV_B ( Block Move 块移动) :数据块传送
41、SWAP ( Swap 交换 ) :字节交换
42、FILL ( Fill 填充 ) :字填充
43、ROL_B ( Rotate Left 循环 向左) :循环左移位
44、ROR_B ( Rotate Right 循环 向右) : 循环右移位
45、SHL_B ( Shift Right 移动向左) :左移动
46、SHR_B ( Shift Right 移动向右 ) :右移动
47、SHRB ( Shift buffer 移动缓存) :寄存器移位
48、STOP ( Stop 停止 ) :暂停
49、END /MEND ( End /Mend ) : 条件/无条件结束
50、WDR ( Watch dog reset ) :看门狗复位
51、JMP ( Jump 跳) :跳转
52、LBL ( Label 位置 ) :跳转标号
53、FOR ( For 循环 ) :循环
54、NEXT ( Next 再下去) :循环结束
55、SBR ( Subprogram Regulating子程序控制 ) : 子程序调用
56、SBR_T ( Subprogram Regulating Take ) : 带参数子程序调用
57、SCR ( Sequence Control 顺序控制 ) : 步开始
58、SCRT ( Sequence Control Transfer 顺序控制转移 ) : 步转移
59、SCRE ( Sequence Control End 顺序控制结束 ) : 步结束
60、AD_T_TBL ( Add data to table 添加数据到表格中) :填数据表
61、FIFO ( First in First out 先进先出 ) :先进先出
62、LIFO ( Last in First out 后进先出 ) :后进先出
63、TBL_FIND ( Table Find 表格查找 ) :表查找
64、BCD_I ( Binary Coded Decimal _I 二进制编码的十进制 ) :BCD 码转整数
65、I_BCD ( I_ Binary Coded DecimaL ) :整数转BCD码
66、B_I ( Bit to int ) :字节转整数
67、I_B ( int to bit ) :整数转字节
68、DI_I ( Double int to int ) :双整数转整数
69、I_DI ( int to double int ) :整数转双整数
70、ROUND ( Round 取整 ) : 实数转双整数
71、TRUNC ( Trunc 截取 ) :转换32位实数整数部分(舍去小数取整)
72、DI_I (double int to int ) :双整数转实数
73、ENCO ( Encode 编码) :编码
74、DECO ( Decode 译码) :译码
75、SEG ( Segment decoder分断译码器 ) : 七段显示译码器
76、ATH ( ASCII码 turn hex ) : ASCII码转16进制
77、HTA ( Hexadecimal to ascii) : 16进制转ASCII码
78、ITA ( // int to ascii) : 整数转ASCII码
79、DTA ( // double int to ascii ) : 双整转ASCII码
80、RTA ( // real to ascii) : 实数转ASCII码
81、ATCH (//attach ) : 中断连接
82、DTCH ( Depatch ) : 中断分离
83、HDEF ( High speed counter definition ) : 高速计数器定义
84、HSC ( High Speed Counter 高速计数器 ) :启动高速计数器
85、PLS ( Pulse 脉冲 ) :脉冲输出
86、READ_ RTC ( Read real time clock 读实时时钟 ) :读实时时钟87、SET_RTC ( Set real time clock ) : 写实时时钟88、XMT ( Transmitter ) : 自由发送
89、RCV ( Receive 接收 ) : 自由接收
90、NETR ( Net read 网络读 ) : 网络读
91、NETW ( Net write 网络写 ) : 网络写
92、GET_ADDR ( Get address 获取地址 ) : 获取口地址
93、SET_ADDR ( Set address 设置地址 ) : 设定口地址
94、PID ( Proportional Integral Differential 比例、积分、微分 ) :比例积分微分调节器。
来源:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取 电气热门资料?
操作指引如下!
相关问答
特斯拉plc编程规范?
您好,特斯拉的PLC编程规范可以根据不同的应用和项目需求而有所不同,但以下是一些常见的PLC编程规范:1.命名规范:使用有意义的变量和标签名称,避免缩写和数...
ABPLC编程软件程序肿么添加标题注解-ZOL问答
如果是TAG,点右键,TAG属性,窗口添加如果是给梯级(RUNG),选中梯级,右键,选编辑COMMENTS如果是TASK,选中TASK,右键,属性,窗口编辑有用(0)回复wing830没有...
PLC正比例程序怎么写?
编写PLC正比例程序可以使用不同的编程语言和PLC品牌。下面是一种常见的PLC正比例控制程序的示例,使用了基于ladderdiagram(梯形图)的编程语言。步骤:配置...
dd马达如何用plc控制。?
要使用PLC(可编程逻辑控制器)控制DD马达,可以按照以下步骤进行:步骤1:连接硬件将PLC连接到DD马达和其他必要的设备,如传感器、按钮和检测器。确保正确地将...
PLC控制柜编程如何设置?
PLC控制柜编程的设置包括以下步骤:1.了解控制需求和系统架构;2.选择合适的PLC型号和编程软件;3.创建程序框架,包括输入输出配置和变量定义;4.编写逻辑控...
西门子pLC一sR60怎么用以太网接口通信,要怎么设置?
要使用以太网接口进行通信,您需要按照以下步骤进行设置:1.首先,确保您的西门子PLC型号为S7-1200或更高级别的型号,因为这些型号支持以太网通信功能。2.在...
西门子plc编程思路?
一、西门子plc编程思路基本的硬件知识编程之前,需要了解一些基本的硬件知识,最好从硬件的选型和画图入手,等把输入输出的类型,模拟量的选型等搞清楚之后,再...
plc变量和db块怎么关联?
在PLC编程中,变量和DB块之间的关联可以通过以下步骤进行:1创建变量:在PLC编程软件中,创建需要与DB块关联的变量。这些变量可以包括输入、输出或中间变量,...
西门子plc编程时,以下这指令和16#F8是什么意思?-ZOL问答
16#F8指的是十六进制F8(与二进制11111000十进制248等值大小),我认为你在程序中用MOV_B把16#F8传送到SMB37/SMB47/SMB57/SMB137/SMB147/SMB1...
三菱plc控制伺服电机完整程序?
```plaintextPROGRAMMain_ProgramVARSpeed:INT:=100;//电机转速设定Position:INT:=0;//电机位置设定END...