西门子供应变频器代理商
PLC是什么意思?相信很多人处于大概知道是什么,又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
DB(数据块):DB 存储器用于存储各种类型的数据,其中包括操作的中间状态或 FB 的其
它控制信息参数,以及许多指令(如定时器和计数器)所需的数据结构。可以按位、字节、
字或双字访问数据块存储器。读/写数据块允许读访问和写访问。只读数据块只允许读访问。
表格 5-26 DB 存储器的**地址
位 DB[数据块编号].DBX[字节地址].[位地
址]
DB1.DBX2.3
字节、字或双字 DB[数据块编号].DB [大小][起始字节地
址]
DB1.DBB4、
DB10.DBW2、
DB20.DBD8
说明
在 LAD 或 FBD 中指定**地址时,STEP 7 会为此地址加上“%”字符前缀,以指示其为**地
址。编程时,可以输入带或不带“%”字符的**地址(例如 %I0.0 或 I.0)。如果忽略,则
STEP 7 将加上“%”字符。
在 SCL 中,必须在地址前输入“%”来表示此地址为**地址。如果没有“%”,STEP 7 将在编译
时生成未定义的变量错误
对 CPU 和 I/O 模块中的 I/O 进行组态
向设备组态添加 CPU 和 I/O 模块时,STEP 7 会自动
分配 I 地址和 Q 地址。通过在设备组态中选择地址
字段并输入新编号,可以更改默认寻址设置。
• 无论模块是否使用所有点,STEP 7 都按每组 8 点
(1 字节)的方式分配数字量输入和输出。
• STEP 7 以 2 个为一组分配模拟量输入和输出,其
中每个模拟点占用 2 个字节(16 位)。图中显示的示例是配有两个 SM 及一个 SB 的 CPU 1214C。在该示例中,可以将 DI8 模块的
地址更改为 2 而不是 8。用户可借助该工具更改大小有误或与其它地址冲突的地址范围。
5.3 模拟值的处理
模拟量信号模块可以提供输入信号,或等待表示电压范围或电流范围的输出值。这些范围是
±10 V、±5 V、±2.5 V 或 0 - 20 mA。模块返回的值是整数值,其中,0 到 27648 表示电流
的额定范围,-27648 到 27648 表示电压的额定范围。任何该范围之外的值即表示上溢或下
溢。有关超出范围值的类型的详细信息,请参见模拟量输入表示法(页1380)和模拟量输出表
示法 (页 1381)表格。
在控制程序中,很可能需要以工程单位使用这些值,例如表示体积、温度、重量或其它数量
值。要以工程单位使用模拟量输入,必须将模拟值标准化为由 0.0 到 1.0 的实数(浮点)
值。必须将其标定为其表示的工程单位的*小值和*大值。对于要转换为模拟量输出
值的以工程单位表示的值,应将以工程单位表示的值标准化为 0.0 和 1.0 之间的值,然
后将其标定为 0 到 27648 之间或 -27648 到 27648 之间(取决于模拟模块的范围)的值。
STEP 7 为此提供了 NORM_X 和 SCALE_X 指令 (页 288)。还可以使用 CALCULATE 指令
(页 234)来标定模拟值。
示例:模拟值处理
例如,假设模拟量输入的电流范围为 0 - 20 mA。模拟量输入模块返回的测量值介于 0 和
27648 之间。在此示例中,假设使用此模拟量输入值测量 50 °C 到 100 °C 的温度。几个采
样值的含义如下:
模拟量输入值 工程单位
0 50 °C
6192 62.5 °C
12384 75 °C
18576 87.5 °C
27648 100 °C
在此示例中,通过模拟量输入值确定工程单位的计算方法如下:
工程组态单位值 = 50 +(模拟量输入值)* (100 - 50) / (27648 - 0)对于一般情况,公式为:
工程单位值 = (工程单位范围下限) +
(模拟量输入值) *
(工程单位范围上限 - 工程单位范围下限) /
(模拟量输入上限 - 模拟量输入下限)
在 PLC 应用中,典型的方法是将模拟量输入值标准化为 0.0 至 1.0 之间的浮点值。需
要将得到的值换算为工程单位范围内的浮点值。为简单起见,以下 LAD 指令使用常数值表
示范围;实际上可能选择使用变量数据类型
数据类型用于指定数据元素的大小以及如何解释数据。每个指令参数至少支持一种数据类型,
而有些参数支持多种数据类型。将光标停在指令的参数域上方,便可看到给定参数所支持的
数据类型。
形参指的是指令上标记该指令要使用的数据位置的标识符(例如:ADD 指令的 IN1 输入)。
实参指的是包含指令要使用的数据的存储单元(含“%”字符前缀)或常量(例如,%MD400
"Number_of_Widgets")。用户指定的实参的数据类型必须与指令指定的形参所支持的数据
类型之一匹配。
指定实参时,必须指定变量(符号)或者**(直接)存储器地址。变量将符号名(变量名)
与数据类型、存储区、存储器偏移量和注释关联在一起,并且可以在 PLC 变量编辑器或块(OB、FC、FB 和 DB)的接口编辑器中进行创建。如果输入一个没有关联变量的**地址,
使用的地址大小必须与所支持的数据类型相匹配,而默认变量将在输入时创建。
除了 String、Struct、Array 和 DTL,其它所有数据类型都可以在 PLC 变量编辑器和块接口编
辑器中使用。String、Struct、Array 和 DTL 只可在块接口编辑器中使用。还可以为许多输入
参数输入常数值。
• 位和位序列 (页 105):Bool(布尔或位值)、Byte(8 位字节值)、Word(16 位值)、
DWord(32 位双字值)
• 整型 (页 106)
– USInt(无符号 8 位整数)、SInt(有符号 8 位整数)、
– UInt(无符号 16 位整数)、Int(有符号 16 位整数)
– UDInt(无符号 32 位整数)、DInt(有符号 32 位整数)
• 浮点实数 (页 107):Real(32 位实数或浮点值)、LReal(64 位实数或浮点值)
• 时间和日期 (页 108):Time(32 位 IEC 时间值)、Date(16 位日期值)、TOD(32 位
时间值)、DTL(12 字节日期和时间结构)
• 字符和字符串 (页 110):Char(8 位单字符)、String(*长 254 个字符的可变长度字符
串)
• 数组 (页 112)
• 数据结构 (页 113):Struct
• PLC 数据类型 (页 114)
• Variant 数据类型 (页 114)
以下 BCD 格式不能作为数据类型使用,转换指令支持以下 BCD 数字格式:
表格 5-27 BCD 格式的大小和范围
格式 大小(位) 数字范围 常量输入示例
浮点型实数数据类型
如 ANSI/IEEE 754-1985 标准所述,实(或浮点)数以 32 位单精度数 (Real) 或 64 位双精度
数 (LReal) 表示。单精度浮点数的精度*高为 6 位有效数字,而双精度浮点数的精度*高为 15
位有效数字。 在输入浮点常数时,*多可以指定 6 位 (Real) 或 15 位 (LReal) 有效数字来保
持精度。
表格 5-30 浮点型实数数据类型(L = 长浮点型)
数据类
型
位大小 数值范围 常数示例 地址示例
Real 32 -3.402823e+38 到 -1.175
495e-38、
±0、
+1.175 495e-38 到
+3.402823e+38
123.456, -3.4,
1.0e-5
MD100、
DB1.DBD8、
Tag_name
LReal 64 -1.7976931348623158e
+308 到
-2.2250738585072014e-308
、
±0、
+2.2250738585072014e-30
8 到
+1.7976931348623158e
+308
12345.123456789
e40、1.2E+40
DB_name.var_na
me
规则:
• 不支持直接寻
址
• 可在 OB、FB
或 FC 块接口
数组中进行分
配
计算涉及到包含非常大和非常小数字的一长串数值时,计算结果可能不准确。如果数字相差
10 的 x 次方,其中 x > 6 (Real) 或 15 (LReal),则会发生上述情况。时间和日期数据类型
表格 5-31 时间和日期数据类型
数据类型 大小 范围 常量输入示例
Time 32 位 T#-24d_20h_31m_23s_648ms 到
T#24d_20h_31m_23s_647ms
存储形式: -2,147,483,648 ms 到
+2,147,483,647 ms
T#5m_30s
T#1d_2h_15m_30s_45ms
TIME#10d20h30m20s630
ms
500h10000ms
10d20h30m20s630ms
日期 16 位 D#1990-1-1 到 D#2168-12-31 D#2009-12-31
DATE#2009-12-31
2009-12-31
Time_of_D
ay
32 位 TOD#0:0:0.0 到 TOD#23:59:59.999 TOD#10:20:30.400
TIME_OF_DAY#10:20:30.
400
23:10:1
DTL
(长格式日
期和时间)
12 个
字节
*小: DTL#1970-01-01-00:00:00.0
*大:
DTL#2262-04-11:23:47:16.854 775
807
DTL#2008-12-16-20:30:2
0.250
Time
TIME 数据作为有符号双整数存储,被解释为毫秒。 编辑器格式可以使用日期 (d)、小时 (h)、
分钟 (m)、秒 (s) 和毫秒 (ms) 信息。
不需要指定全部时间单位。 例如,T#5h10s 和 500h 均有效。
所有指定单位值的组合值不能超过以毫秒表示的时间日期类型的上限或下限
(-2,147,483,648 ms 到 +2,147,483,647 ms)。
日期
DATE 数据作为无符号整数值存储,被解释为添加到基础日期 1990 年 1 月 1 日的天数,用
以获取指定日期。 编辑器格式必须指定年、月和日
TOD (TIME_OF_DAY) 数据作为无符号双整数值存储,被解释为自指定日期的凌晨算起的毫
秒数(凌晨 = 0 ms)。 必须指定小时(24 小时/天)、分钟和秒。 可以选择指定小数秒格
式。
DTL
DTL(日期和时间长型)数据类型使用 12 个字节的结构保存日期和时间信息。 可以在块的
临时存储器或者 DB 中定义 DTL 数据。 必须在 DB 编辑器的“起始值”(Start value) 列为所有
组件输入一个值。
表格 5-32 DTL 的大小和范围
长度
(字节)
格式 值范围 值输入的示例
12 时钟和日历
年-月-日:时:分:
秒.纳秒
*小: DTL#1970-01-01-00:00:00.0
*大: DTL#2554-12-31-23:59:59.999
999 999
DTL#2008-12-16-
20:30:20.250
DTL 的每一部分均包含不同的数据类型和值范围。 指定值的数据类型必须与相应部分的数据
类型相一致。
表格 5-33 DTL 结构的元素
Byte 组件 数据类型 值范围
0 年 UINT 1970 到 2554
1
2 月 USINT 1 到 12
3 日 USINT 1 到 31
4 工作日 1 USINT 1(星期日)到 7(星期六)字符和字符串数据类型
表格 5-34 字符和字符串数据类型
数据类型 大小 范围 常量输入示例
Char 8 位 16#00 到 16#FF 'A', 't', '@', 'ä', '∑'
WChar 16 位 16#0000 到 16#FFFF 'A', 't', '@', 'ä', '∑', 亚洲字符、西里尔字符以
及其它字符
String n+ 2 字节 n =(0 到 254 字节) "ABC"
WString n + 2 个字 n =(0 到 65534 个
字)
"ä123@XYZ.COM"
Char 和 WChar
Char 在存储器中占一个字节,可以存储以 ASCII 格式(包括扩展 ASCII 字符代码)编码的单
个字符。WChar 在存储器中占一个字的空间,可包含任意双字节字符表示形式。
编辑器语法在字符的前面和后面各使用一个单引号字符。可以使用可见字符和控制字符。
String 和 WString
CPU 支持使用 String 数据类型存储一串单字节字符。String 数据类型包含总字符数(字符串
中的字符数)和当前字符数。String 类型提供了多达 256 个字节,用于在字符串中存储*大
总字符数(1 个字节)、当前字符数(1 个字节)以及*多 254 个字节。String 数据类型中
的每个字节都可以是从 16#00 到 16#FF 的任意值。
WString 数据类型支持单字(双字节)值的较长字符串。第一个字包含*大总字符数;下一
个字包含总字符数,的字符串可包含多达 65534 个字。WString 数据类型中的每个字
可以是 16#0000 - 16#FFFF 之间的任意值。