
文章目录
-  - 概要
- 整体架构流程
- 技术名词解释
- 技术细节
- 小结
 
概要
         通用函数库 (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-WW 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-WW
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-WW 
 
 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-WW
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-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) | 通过增量和波束产生锯齿波 | 
技术细节
























































































































































小结
