西门子【Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500】

news/2025/1/23 7:30:17/

文章目录

    • 概要
    • 整体架构流程
    • 技术名词解释
    • 技术细节
    • 小结

概要

        通用函数库 (LGF) 扩展了 TIA Portal 中用于 PLC 编程的 STEP 7 指令(数学函数、时间、计数器 等)。该库可以不受限制地使用,并包含 FIFO 、搜索功能、矩阵计算、 astro 计时器等功能。理解AF架构也需要对LGF通用函数库足够熟悉,LGF函数库同样适用于AF架构标准。
https://support.industry.siemens.com/cs/document/109479728/library-of-general-functions-(lgf)-for-simatic-step-7-(tia-portal)-and-simatic-s7-1200-s7-1500?dti=0&lc=en-WWhttps://support.industry.siemens.com/cs/document/109479728/library-of-general-functions-(lgf)-for-simatic-step-7-(tia-portal)-and-simatic-s7-1200-s7-1500?dti=0&lc=en-WW

整体架构

LGF
通用函数库 (LGF) 扩展了 TIA Portal 中用于 PLC 编程的 STEP 7 指令(数学函数、时间、计数器
等)。该库可以不受限制地使用,并包含 FIFO 、搜索功能、矩阵计算、 astro 计时器等功能。
SIOS-ID
109479728
LPML
OMAC PackML (LPML) 为组态和使用 OMAC 兼容的 SIMATIC 模式和状态管理器奠定了基础。
SIOS-ID
109821198
LUC
单元控制库 (LUC) 提供的函数块可简化 LPML OMAC 状态机处理、预处理操作员或远程命令(例
如通过 OPC UA ),并提供堆叠灯实现。它使用 LPML 中的块和数据类型,并扩展其功能。
SIOS-ID
109974940
LAF
自动化框架库 (LAF) 提供了可轻松实现 ISA-88 标准和常用功能的块。它使用 LUC 库中的块和数据
类型,并扩展其功能。
SIOS-ID
未规划
LDrvSafe
安全驱动控制库 (LDrvSafe) 包括用于实现安全应用的块,例如,通过 PROFIsafe 轻松控制
SINAMICS 安全功能以及故障安全直径检测,最高可达安全完整性等级 2 (EN 62061) 和性能等级
d 类别 3 (EN ISO 13849-1)
SIOS-ID
109485794
LSafe
经过 TÜ V 认证的 LSafe 库可用于实现机电或电子传感器和执行器的基本安全功能。该库有助于验
收您的应用软件,因为它可以基于通过测试的模块。
SIOS-ID
109793462
LSNTP
(LCom)
使用 SIMATIC S7 CPU 作为 SNTP 服务器,可以灵活、简单地同步系统和子系统,例如,获取系统
级错误消息和记录数据的时间戳。
SIOS-ID
109780503
LAxisCtrl
该库提供了一个轴函数块,该函数块具有非常丰富的功能,可用于简化轴的控制。它在 LBC 库块
中进行轴控制或独立使用。
SIOS-ID
109749348
LBC
“基本控制库” (LBC) 提供基本控制功能,这些控制功能根据西门子编程风格指南和“ PLC Open
指南进行标准化编程。
SIOS-ID
109792175
LSicar V5
LSicar ”库包含用于生产数据、班次模型和诊断的有用且经过充分验证的功能。
SIOS-ID
109804254
LPD
PLC 数据类型库 " LPD )包含 PLC 数据类型,用于描述地址空间的数据结构以及外围设备 / 技术模
块和 PROFIdrive 驱动器的数据记录。
SIOS-ID
109482396

技术名词

LGF_BitReset (FC / V3.0.1)复位DWORD变量中的指定位
LGF_BitSet (FC / V3.0.1)置位DWORD变量中的指定位
LGF_BitSetTo (FC / V3.0.1)设置DWORD变量中的指定位
LGF_BitTest (FC / V3.0.1)判断DWORD变量中的指定位
LGF_BitToggle (FC / V3.0.1)切换DWORD变量中的指定位
LGF_IecTimerOnOff (FB / V1.0.0)通电断电延时功能块
LGF_PulseRelay (FB / V3.0.1)脉冲继电器功能块
LGF_GetCalendarDay (FC / V3.0.1)计算当前日期天数
LGF_GetCalendarWeek_ISO (FC / V3.0.1)计算当前日期周数
LGF_GetCalendarWeek_US (FC / V3.0.1)计算当前日期周数
LGF_IsGermanHoliday (FC / V3.0.1)判断给定日期是否为德国节假日
LGF_AstroClock (FB / V3.0.1) 根据给定GPS左边计算日出日落时间
LGF_SetTime (FB / V3.0.3)设定时间和时区
LGF_TimerSwitch (FB / V3.1.0)定义时间切换点
LGF_BitCount (FC / V3.0.2)计算DWord变量中值为TRUE的位数
LGF_CountArrayElements (FC / V1.0.0)计算数组的原始个数从0开始
LGF_CountBooleanEdges (FB / V1.0.0) 计算特定时间内输入信号的边沿信号次数
LGF_CountFalInDWord (FB / V3.0.1) 计算DWord变量中1-0跳变的位的个数
LGF_CountRisInDWord (FB / V3.0.1)计算DWord变量中0-1跳变的位的个数
LGF_GetBitStates (FB / V1.0.0)计算DWord变量中上升沿下降沿的位的个数
LGF_BinaryMaskCompare (FC / V1.0.0)通过掩码比较两个二进制数
LGF_CompareLReal (FC / V3.0.2)通过近似公式比较两个浮点数
LGF_CompareLRealByPrecision (FC / V3.0.2)通过近似公式比较两个浮点是否相等
LGF_CompareString (FC / V1.0.0)比较两个字符串
LGF_CompareVariant (FC / V3.0.1)比较两个Variant变量
LGF_CalcDistance_2D (FC / V3.0.1)通过2维坐标计算距离
LGF_CalcDistance_3D (FC / V3.0.1)通过3维坐标计算距离
LGF_GetFactorial (FC / V3.0.1)计算自然数的幂数
LGF_IsValueInLimits (FC / V3.0.1)判断给定变量在上下限设定值范围内
LGF_IsValueInRange (FC / V3.0.1)判断给定变量在设定区间内
LGF_IsValueInTolerance (FC / V3.0.2)判断给定变量在设定值和公差范围内
LGF_NthRoot (FC / V3.0.1)开方功能块
LGF_Random_DInt (FC / V3.0.1)生成Dint随机数
LGF_Random_Real (FC / V3.0.1)生成Real随机数
LGF_Random_UDInt (FC / V3.0.1)生成UDint随机数
LGF_RandomRange_DInt (FC / V3.0.1)指定范围内生成Dint随机数
LGF_RandomRange_Real (FC / V3.0.1)指定范围内生成Real随机数
LGF_RandomRange_UDInt (FC / V3.0.1)指定范围内生成UDint随机数
LGF_ScaleLinear (FC / V3.0.1)通过线性方程缩放输入变量
LGF_SearchMinMax (FC / V3.0.1)寻找最大值和最小值
LGF_SearchMinMax_DInt (FC / V3.0.2)寻找Dint最大值和最小值
LGF_SearchMinMax_LReal (FC / V3.0.2)寻找LReal最大值和最小值
LGF_SearchMinMax_UDInt (FC / V3.0.1)寻找UDint最大值和最小值
LGF_Integration (FB / V3.0.2)计算曲线下的面积
LGF_IsValueInToleranceByTime (FB / V1.0.0)判断值在给定值的误差范围内
LGF_StoreMinMax (FB / V3.0.1)计算输入值的历史最大值和最小值
LGF_MatrixAddition (FC / V3.0.1)矩阵加法
LGF_MatrixCompare (FC / V3.0.1)矩阵比较
LGF_MatrixInverse (FC / V3.0.1)矩阵反转
LGF_MatrixMultiplication (FC / V3.0.1)矩阵乘法
 LGF_MatrixScalarMultiplication (FC / V3.0.1)矩阵缩放
LGF_MatrixSubtraction (FC / V3.0.1)矩阵减法
LGF_MatrixTranspose (FC / V3.0.1)矩阵变换
LGF_CalcCRC16 (FC / V3.1.0)CRC16计算
LGF_CalcCRC16Advanced (FC / V3.1.0)先进CRC16计算
LGF_CalcCRC32 (FC / V3.1.0)CRC32计算
LGF_CalcCRC32Advanced (FC / V3.1.0)先进CRC32计算
LGF_CalcCRC8 (FC / V3.1.0)CRC8计算
LGF_CalcCRC8Advanced (FC / V3.1.0)先进CRC8计算
LGF_CalcCRC8For1Byte (FC / V3.0.1)计算1字节CRC8
LGF_IsParityEven (FC / V3.0.1)判断是否为偶校验
LGF_IsParityOdd (FC / V3.0.1)判断是否为奇校验
LGF_DataLogC (FB / V1.0.0)日志系统功能
LGF_FIFO (FB / V3.0.1)先进先出堆栈操作
LGF_FileRead (FB / V1.0.0)文件读取
LGF_FileWrite (FB / V1.0.0)文件写入
LGF_LIFO (FB / V3.0.1)后进显出堆栈操作
LGF_ShellSort_DInt (FB / V3.0.1)Dint变量排序
LGF_ShellSort_LReal (FB / V3.0.1)LReal变量排序
LGF_ShellSort_UDInt (FB / V3.0.1)UDint变量排序
LGF_ShiftRegister (FB / V1.0.3)LReal类型数组排序
LGF_BinaryToGray (FC / V3.0.1)二进制转格雷码
LGF_DecodeUtf8 (FC / V1.0.0)十进制转UTF8
LGF_DTLToJulianDate (FC / V0.0.1)DTL的日期和时间转换为儒略日期
LGF_DTLToString_DE (FC / V3.0.1) DTL的日期和时间转换为字符串
LGF_DTLToString_ISO (FC / V3.0.1)DTL的日期和时间转换为ISO字符串
LGF_DTLToUnixTime (FC / V3.0.2)DTL的日期和时间转换为UNIX时间
LGF_EncodeUtf8 (FC / V1.0.0)UTF8编码
LGF_GpsDDToGps (FC / V3.0.2)GpsDDT转Gps
LGF_GpsToGpsDD (FC / V3.0.2)Gps转GpsDDT
LGF_GrayToBinary (FC / V3.0.1)格雷码转二进制
LGF_IntToString (FC / V3.0.1)Int转string
LGF_JulianTimeToDTL (FC / V0.0.1)儒略日期转DTL
LGF_StringToDTL_DE (FC / V3.0.1)String时间转DTL_DE
LGF_StringToDTL_ISO (FC / V3.0.1)String时间转DTL_ISO
LGF_StringToInt (FC / V3.0.1)String转Int
LGF_StringToTaddr (FC / V3.0.1)String转TADDR_Param
LGF_StringToTime (FC / V3.0.1)String转Time
LGF_TaddrToString (FC / V3.0.1)TADDR_Param转String
LGF_TimeToString (FC / V3.0.1)Time转String
LGF_UnixTimeToDTL (FC / V3.0.1)Unix转DTL
LGF_SwapBlockDWord (FC / V1.0.0)Dword数组高低字节交换
LGF_SwapBlockLWord (FC / V1.0.0)LWord数组高低字节交换
LGF_SwapBlockWord (FC / V1.0.0)Word数组高低字节交换
LGF_MergeBitsToByte (FC / V3.0.1)8个位组成一个字节
LGF_MergeBitsToDWord (FC / V3.0.1)32个位组成一个Dword
LGF_MergeBitsToWord (FC / V3.0.1)16个位组成一个Dword
LGF_MergeBytesToDWord (FC / V3.0.1)2个Byte组成一个Word
LGF_MergeBytesToWord (FC / V3.0.1)2个Byte组成一个Word
LGF_MergeWordsToDWord (FC / V3.0.1)2个Word组成一个DWord
LGF_SplitByteToBits (FC / V3.0.1)将一个Byte拆分为8个位
LGF_SplitDWordToBits (FC / V3.0.1)将一个Dword拆封为32个位
LGF_SplitDWordToBytes (FC / V3.0.1)将一个Dword拆封为4个字节
LGF_SplitDWordToWords (FC / V3.0.1)将一个Dword拆封为2个字
LGF_SplitWordToBits (FC / V3.0.1)将一个Word拆封为16个位
LGF_SplitWordToBytes (FC / V3.0.1)将一个Word拆封为2个字节
LGF_ExtractStringFromCharArray (FC / V1.1.0)提取由前后文本指定的中间字符串
LGF_ExtractStringFromCharArrayAdv (FC / V1.1.0)从指定位置开始提取由前后文本指定的中间字符串
LGF_FindStringInCharArray (FC / V1.1.0)从Char数组中查找指定字符串
LGF_ToLower (FC / V1.0.0)将字符串中大写字母转换为小写字母
LGF_ToUpper (FC / V1.0.0)将字符串中小写字母转换为大写字母
LGF_CelsiusToFahrenheit (FC / V3.0.1)摄氏度转为华氏度
LGF_CelsiusToKelvin (FC / V3.0.1)摄氏度转为开尔文
LGF_ConvertTemperature (FC / V3.0.1)将输入值转换为指定温度单位
LGF_FahrenheitToCelsius (FC / V3.0.1)华氏度转为摄氏度
LGF_FahrenheitToKelvin (FC / V3.0.1)华氏度转为开尔文
LGF_KelvinToCelsius (FC / V3.0.1)开尔文转为摄氏度
LGF_KelvinToFahrenheit (FC / V3.0.1)开尔文转为华氏度
LGF_KelvinToRankine (FC / V3.0.1)开尔文转为朗肯
LGF_RankineToKelvin (FC / V3.0.1)朗肯转为开尔文
LGF_CosinusCI (FB / V3.0.2)余弦函数生成器
LGF_Frequency (FB / V3.0.1)频率发生器
LGF_Impulse (FB / V3.0.1)脉冲发生器
LGF_RectangleCI (FB / V3.0.1)方波发生器
LGF_SawToothCI (FB / V3.0.1)锯齿波发生器
LGF_SinusCI (FB / V3.0.2)正弦波发生器
LGF_TriangleCI (FB / V3.0.1)三角波发生器
LGF_LimRateOfChangeAdvancedCI (FB / V3.0.1)斜波转换器
LGF_LimRateOfChangeCI (FB / V3.0.1)输入变量变化率限制
LGF_NonLinearInterpolation (FB / V3.0.1)插值点实现特征曲线
LGF_RampCI (FB / V3.0.1)插值点实现速度曲线
LGF_AverageAndDeviation (FC / V3.0.1) 计算算数平方值和标准差
LGF_DifferenceQuotientFC (FC / V3.0.1)等距采样数值微分
LGF_RegressionLine (FC / V3.0.1)非循环计算线性平均值
LGF_SimpleSmoothingFC (FC / V3.0.1)非循环计算平滑值
LGF_SmoothByPolynomFC (FC / V3.0.1)多项式非循环计算平滑值
LGF_Boxplot_DInt (FB / V3.0.1)Dint数据概览
LGF_Boxplot_LReal (FB / V3.0.1)LReal数据概览
LGF_Boxplot_UDInt (FB / V3.0.1)UDint数据概览
LGF_DifferenceQuotientFB (FB / V3.0.1)对时间上等距采样值进行数值微分
LGF_FloatingAverage (FB / V3.0.2)计算Float类型的算数平均值
LGF_Histogram_DInt (FB / V3.0.1)直方图显示DInt样本的频率分布
LGF_Histogram_LReal (FB / V3.0.1)直方图显示LReal样本的频率分布
LGF_Histogram_UDInt (FB / V3.0.1)直方图显示UDint样本的频率分布
LGF_SimpleSmoothingFB (FB / V3.0.1)循环计算算数平均值
LGF_SmoothByPolynomFB (FB / V3.0.1)通过多项式循环计算算数平均值
LGF_IsBigEndian (FC / V1.0.0)检测执行系统字节数
LGF_IsLittleEndian (FC / V1.0.0)检测执行系统字节数
LGF_ActDeactDevice (FB / V1.0.0)监测设备连接和错误状态
LGF_ReadPnInterfaceParameter (FB / V1.0.0)获取指定硬件的IP,MAC等信息
LGF_CountFalInDWord (FC / V3.0.1)分析DWORD类型的变量,并输出1-0序列的频率
LGF_CountRisInDWord (FC / V3.0.1)分析DWORD类型的变量,并输出0-1序列的频率
LGF_SawTooth (FB / V3.0.1)通过增量和波束产生锯齿波

技术细节

小结


http://www.ppmy.cn/news/1565431.html

相关文章

Logo语言的网络编程

Logo语言的网络编程探讨 引言 Logo语言是上世纪60年代由西摩帕佩特(Seymour Papert)和他的团队开发的一种编程语言。Logo最初是为了帮助儿童理解编程和计算机科学的概念而设计的。它以图形化的方式呈现编程思想,通过控制“海龟”进行图形绘制,帮助学生…

STM32 GPIO工作模式

GPIO工作模式 1. GPIO简介2. GPIO工作模式2.1 输入浮空2.2 输入上拉2.3 输入下拉2.4 模拟2.5 开漏输出2.6 推挽输出2.7 开漏式复用功能2.8 推挽式复用功能 1. GPIO简介 GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,STM32 芯片的 GPI…

Mellanox ConnectX HCA InfiniBand 驱动分析:drivers/infiniband/hw/mlx4/main.c

引言 Mellanox ConnectX 系列适配器是高性能计算和数据中心网络中的关键组件,支持 InfiniBand 和以太网协议。drivers/infiniband/hw/mlx4/main.c 是 Linux 内核中 Mellanox ConnectX 系列 InfiniBand 设备驱动程序的核心文件之一,负责初始化和管理 Mellanox ConnectX HCA(…

Python自动化运维:一键掌控服务器的高效之道

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在互联网和云计算高速发展的今天,服务器数量的指数增长使得手动运维和管理变得异常繁琐。Python凭借其强大的可读性和丰富的生态系统,成为…

算法 | 递归与递推

递归与递推(上) 1.递归与递推的基本概念 在数学与计算机科学中,递归与递推是两种非常重要的概念,它们常用于定义序列、解决问题和设计算法。虽然两者看起来相似,但它们的本质和应用有所不同。 1.1 递归(…

个人学习 - 什么是Vim?

观我往旧,同我仰春 - 2025.1.10 声明 仅作为个人学习使用,仅供参考 本文所有解释参考笔者个人理解,最终目的是服务于自我学习, 如果你需要了解官方更规范的解释,请自行查阅 Vim 是什么 Vim 是一个强大的 文本编辑器…

【Linux】打破Linux神秘的面纱

个人主页~ 在开始学习的时候我们一定会对Linux产生抵触心理,我也是这样的,通过一点一点的学习,到初步会使用阶段,我们就可以打破这种心理,开始逐渐掌握,所以我们这篇文章将在一个宏观的角度上看待Linux&…

C++|开源日志库log4cpp和glog

文章目录 log4cpp 和 glog对比1. **功能对比**2. **易用性和配置**3. **性能**4. **线程安全**5. **日志输出**6. **功能扩展**7. **适用场景**8. **总结** 其它开源C日志库1. **spdlog**2. **easylogging**3. **Boost.Log**4. **loguru**5. **Poco Logging**6. **Qt Logging (…