广西SIEMENS西门子销售经销商
西门子代理公司国际化工业自动化科技产品供应商,西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
与此同时,我们还提供。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球zhuming芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆、
驱动伺服产品、数控设备SIEMENS低压配电与控制产品及软起动器等
Polyline 在 OB 中作为单背景 DB 调用,Polyline 在 FC 中作为单背景 DB 或参数背景 DB 调用;Polyline 可以称为单背景 DB、多重背景 DB 和 FB 中的参数背景 DB。调用该指令后,不会创建任何工艺对象。折线组态在程序编辑器的巡视窗口中可用。启动UserData 和 WorkingData 结构中的变量不具有保持性。每当 CPU 的操作状态从 STOP 切换为RUN 后,这些变量都将通过起始值进行初始化。如果于在线模式下更改 UserData 结构中的实际值并且这些值将在 CPU 的工作状态从 STOP 切换到 RUN 后得以保留,则将这些值备份到数据块的起始值。在 CPU 的工作状态从 STOP 切换到 RUN 后,首次调用 Polyline 指令时将自动检查 UserData 结构中数据的有效性。如果数据通过检查,则会传送到 WorkingData 结构。对错误的响应Polyline 指令会检测插值计算过程中可能出现的各种错误。但即便存在未决错误,也不会影响在输出中输出插值计算结果。如果某个错误影响了插值计算结果的正确性,则将在输出中输出一个替代输出值。请按照如下方式在 ErrorMode 变量中指定出现某个影响插值计算结果正确性的错误时将输出的替代输出值:ErrorMode Output0 Input 参数值1 SubstituteOutput 参数值2 插值计算的上一个有效结果以下内容还适用于 ErrorMode 变量的所有值:• 如果替代输出值不是一个有效的 REAL 值,则会将 0.0 作为输出值输出。• 替代输出值将限制在数据类型 REAL 的取值范围内。只有这样才能在 Output 参数中输出替代输出值。• 只有在设置了 Reset = FALSE 参数的情况下 ErrorMode 变量才有效。如果设置了 Reset =TRUE 参数,则 SubstituteOutput 参数值将在 Output 参数中输出。Error 参数指示是否存在错误处于未决状态。当错误不再处于未决状态时,Error 设为 FALSE。ErrorBits 参数显示了已发生的错误。ErrorBits 具有保持性,仅通过 Reset 或 ErrorAck 参数的上升沿来复位。10.5.3 Polyline 工作原理折线数据要更改折线,请编辑 UserData 结构中的值。这些值随后会进行有效性检查,通过检查的值会传送到 WorkingData 结构。只有 WorkingData 结构中的值用于插值计算。下列情况下将检查和传送值:• 将 Validate 参数设为 TRUE,同时 Reset 参数设为 FALSE。• 在 CPU 的操作状态从 STOP 切换到 RUN 后首次调用 Polyline,同时 Reset 参数设为FALSE。如果已调用 Polyline(例如,在 OB100 中),则后续调用时不会再检查值的有效性。如果 UserData 结构中的折线数据无效,则 WorkingData 结构中先前的折线数据将保持不变,并将输出一条对应的错误消息。如果是首次执行检查,则 WorkingData 结构中无有效值,并将输出一条对应的错误消息。在这种情况下,Output 参数由使用 ErrorMode 变量组态的备用输出值来指定。检查和传送 UserData 结构中的值所需的 CPU 处理时间长于插值计算。在时间敏感型应用中,可首先在启动 OB 100 中执行 Polyline。这样,在进入循环应用程序部分之前即可完成较为耗时的折线数据一次性检查与传送。折线数据的适用范围检查 UserData 结构中的值时,必须满足以下条件才能确保存在有效的折线可用于插值计算:• 2 ≤ UserData.NumberOfUsedPoints ≤ 50• UserData.Point[j].x < UserData.Point[j+1].x,索引 j = 1..(UserData.NumberOfUsedPoints –1)• -3.402823e+38 ≤ UserData.Point[i].x ≤ 3.402823e+38,索引 i =1..UserData.NumberOfUsedPoints• -3.402823e+38 ≤ UserData.Point[i].y ≤ 3.402823e+38,索引 i =1..UserData.NumberOfUsedPoints• UserData.Point[i].x and UserData.Point[i].y 为有效的 REAL值(≠ NaN),索引 i =1..UserData.NumberOfUsedPoints如果检查过程中发现有一个或多个条件未得到满足,则 UserData 结构中的值将不会传送到WorkingData 结构。对应的错误消息在 ErrorBits (页 396) 参数中输出。UserData 结构中的值预分配并不代表有效组态。将变量更改为有效值后,才能用于插值计算。说明如果您的应用需要的点数超出Zui大值 50,可使用两个或以上的 Polyline 实例。计算输出值如果 Input 参数的输入值低于所用点的第一个 x 值或高于所用点的Zui后一个 x 值,请对OutOfRangeMode 变量进行以下设置来组态 Output 参数的预分配:• OutOfRangeMode = 0输出值由首尾两点的斜率外推。Output 参数的允许值范围为 -3.402823e+38 到 3.402823e+38(REAL 数据类型)。每次执行Polyline 指令时,都将检查 Output 参数中输出值的有效性。如果插值计算生成了一个无效的REAL 值,则输出值将替换成 ErrorMode 变量中的设定值。使能行为 EN/ENO如果满足下列其中一个条件,则使能输出 ENO 将设为 FALSE。• 使能输入 EN 设为 TRUE 且 Output 参数由错误消息为 ErrorBits ≥ 16#0001_0000. 时的替代输出值指定• 使能输入 EN 设为 FALSE。否则,使能输出 ENO 设为 TRUE。当前使用的点NextXIndex 索引输出当前输入值的下一个较高 x 值的索引。可借此确定当前插值计算正在使用的点。WorkingData.Point[NextXIndex-1].x < Input ≤ WorkingData.Point[NextXIndex].x示例:• 如果 Input 参数的值介于 WorkingData.Point[3].x 和 WorkingData.Point[4].x 之间,则NextXIndex 变量的值为 4。• 如果 Input 参数的值小于 WorkingData.Point[1].x,则 NextXIndex 变量的值为 1。• 如果 Input 参数的值大于 WorkingData.Point[WorkingData.NumberOfUsedPoints].x,则NextXIndex 变量取 WorkingData.NumberOfUsedPoints + 1 变量的值。因此,NextXIndex变量的Zui大允许值为 51。10.5.4 Polyline 的输入参数参数 数据类型 默认值 说明Input REAL 0.0 输入值SubstituteOutputREAL 0.0 在下列情况下,SubstituteOutput 用作替代输出值• Reset = TRUE或• 存在影响插值计算结果正确性的错误(错误消息为 ErrorBits ≥16#0001_0000),ErrorMode 的组态值为 1 。Validate BOOL FALSE 如果 Validate 设为 TRUE,则 UserData 中的折线数据将进行有效性检查并传送至 WorkingData。ErrorAck BOOL FALSE 删除错误消息• 边沿 FALSE -> TRUEErrorBits 复位Reset BOOL FALSE 重新启动指令• 边沿 FALSE -> TRUEErrorBits 复位。• 只要 Reset 设为 TRUE,就会在输出中输出替代出值Error BOOL FALSE Error 设为 TRUE 时,至少有一个错误当前处于未决状态。ErrorBits DWORD DW#16#0 ErrorBits 参数 (页 396)显示了处于未决状态的错误消息。ErrorBits 具有保持性,通过 Reset 或 ErrorAck 的上升沿复位。10.5.6 Polyline 的静态变量变量 数据类型 默认值 说明UserData AuxFct_PointTable- 折线数据的输入区域UserData 结构中的折线数据可以编辑。该结构中的更改并不会影响插值计算,直到数据被检查并复制到 WorkingData 结构。UserData.NumberOfUsedPoints INT 0 用于插值计算的点数允许的值范围:2 到 50UserData.Point Array[1..50] ofAuxFct_Point- 用于插值计算的点50 元素的数组,数据类型为 AuxFct_Point ,包含点的值对。UserData.Point[i] AuxFct_Point - 用于插值计算的点“Point”数组中索引为“i”的元素。UserData.Point[i].x REAL 0.0 点的 x 值允许的值范围:Point[i].x < Point[i+1].xUserData.Point[i].y REAL 0.0 点的 y 值WorkingData AuxFct_PointTable- 当前有效的折线数据的显示区域WorkingData 结构中的折线数据不可编辑。它用于插值计算。WorkingData.NumberOfUsedPoints INT 0 用于插值计算的点数允许的值范围:2 到 50WorkingData.Point Array[1..50] ofAuxFct_Point- 用于插值计算的点50 元素的数组,数据类型为 AuxFct_Point,包含点的值对。WorkingData.Point[i] AuxFct_Point - 用于插值计算的点“Point”数组中索引为“i”的元素。WorkingData.Point[i].x REAL 0.0 点的 x 值允许的值范围:Point[i].x < Point[i+1].xWorkingData.Point[i].y REAL 0.0 点的 y 值ErrorMode INT 0 选择出现错误后的替代输出值• 0 = Input• 1 = SubstituteOutput默认值 说明OutOfRangeMode INT 0 选择输入值超出定义的 x 值范围时的输出值• 0 = 保持斜率• 1 = 第一个点/Zui后一个点的 y 值允许的值范围:0 到 1NextXIndex INT 2 下一个 x 值的索引用于监视当前插值计算正在使用的断点的索引。需要符合以下条件:WorkingData.Point[NextXIndex-1].x < Input ≤WorkingData.Point[NextXIndex].x请勿手动更改该值。10.5.7 ErrorBits 参数如果多个错误同时处于待决状态,将通过二进制加法显示 ErrorBits 的值。例如,显示ErrorBits = 16#0000_0003 表示错误 16#0000_0001 和 16#0000_0002 同时处于待决状态。对于 Polyline,在 ErrorBits 参数中输出的错误分为两类:• 错误消息为 ErrorBits < 16#0001_0000 的错误• 错误消息为 ErrorBits ≥ 16#0001_0000 的错误错误消息为 ErrorBits < 16#0001_0000 的错误如果有一个或多个错误消息为 ErrorBits < 16#0001_0000 的错误处于未决状态,则 Polyline 的响应如下:• 即使存在此类错误,输出值也会通过如下方式确定:– 当 Reset = FALSE 时,通过插值计算– 当 Reset = TRUE 时,通过 SubstituteOutput 的输出• 输出参数 Error 已置位。• 使能输出 ENO 不变。不再有任何错误时,会立即删除输出参数 Error。ErrorBits (DW#16#...)说明0000_0000 无错误处于未决状态。0000_0001 错误原因和对错误的响应:Output 参数限制为 -3.402823e+38 或 +3.402823e+38。解决方案:如果在输出中输出插值(Reset = FALSE 且 ErrorBits < 16#0001_0000),则检查插值计算中使用的以下变量:• Input• WorkingData.Point[i].x• WorkingData.Point[i].y当 ErrorBits ≥ 16#0001_0000 且 Reset = FALSE 时,替代输出值限制为其输出。在这种情况下,根据ErrorMode 变量的设定值检查以下参数