diff --git a/XP.Hardware.MotionControl/Documents/AxisControlView_PLC_Communication.md b/XP.Hardware.MotionControl/Documents/AxisControlView_PLC_Communication.md deleted file mode 100644 index 3240fd5..0000000 --- a/XP.Hardware.MotionControl/Documents/AxisControlView_PLC_Communication.md +++ /dev/null @@ -1,449 +0,0 @@ -# AxisControlView PLC 通信机制 | AxisControlView PLC Communication - -## 概述 | Overview - -AxisControlView 是运动控制模块的核心用户控件,通过 AxisControlViewModel 与 PLC 进行双向通信。本文档详细说明摇杆 Jog 操作、轴位置输入框操作以及射线源/探测器Z轴联动状态下的 PLC 信号下发机制。 - -## 通信架构 | Communication Architecture - -``` -AxisControlView (XAML) - ↓ (数据绑定) -AxisControlViewModel (C#) - ↓ (调用) -IMotionControlService - ↓ (调用) -ISignalDataService - ↓ (写入队列) -PLC (DB31, WriteCommon 组) -``` - -## 1. 摇杆 Jog 操作 | Joystick Jog Operation - -### 1.1 双轴摇杆(圆形)| Dual Axis Joystick (Circular) - -**左键拖拽(默认模式)**: -- X 轴输出 → StageX Jog(正向/反向) -- Y 轴输出 → StageY Jog(正向/反向) - -**右键拖拽(默认模式)**: -- X 轴输出 → DetectorSwing Jog(正向/反向) -- Y 轴输出 → StageRotation/FixtureRotation Jog(正向/反向) - -**信号下发流程**: - -```csharp -// 1. 摇杆输出变化触发 HandleDualJoystickOutput() -private void HandleDualJoystickOutput() -{ - switch (DualJoystickActiveButton) - { - case MouseButtonType.Left: - UpdateLinearJog(AxisId.StageX, DualJoystickOutputX); - UpdateLinearJog(AxisId.StageY, DualJoystickOutputY); - break; - case MouseButtonType.Right: - UpdateRotaryJog(RotaryAxisId.DetectorSwing, DualJoystickOutputX); - var rotationAxisId = GetEnabledRotationAxisId(); - if (rotationAxisId.HasValue) - UpdateRotaryJog(rotationAxisId.Value, DualJoystickOutputY); - break; - } -} - -// 2. UpdateLinearJog/UpdateRotaryJog 处理 Jog 启动/速度更新/停止 -private void UpdateLinearJog(AxisId axisId, double output) -{ - if (output != 0) - { - var speedPercent = Math.Abs(output) * 100; - var positive = output > 0; - - if (!_linearJogActive[axisId]) - { - // 首次非零:设置速度并启动 Jog - _motionControlService.SetJogSpeed(axisId, speedPercent); - _motionControlService.JogStart(axisId, positive); - _linearJogActive[axisId] = true; - } - else - { - // 已在 Jog:仅更新速度 - _motionControlService.SetJogSpeed(axisId, speedPercent); - } - } - else - { - // 松开鼠标:停止 Jog - if (_linearJogActive[axisId]) - { - _motionControlService.JogStop(axisId); - _linearJogActive[axisId] = false; - } - } -} - -// 3. IMotionControlService 调用 ISignalDataService.EnqueueWrite 写入 PLC -public MotionResult JogStart(AxisId axisId, bool positive) -{ - var signalName = positive ? MotionSignalNames.SourceZ_JogPos : MotionSignalNames.SourceZ_JogNeg; - var result = _signalService.EnqueueWrite(signalName, true); - return result ? MotionResult.Ok() : MotionResult.Fail("Jog 启动写入失败"); -} -``` - -**PLC 信号地址**: - -| 轴 | 信号名 | 地址 | 说明 | -|----|--------|------|------| -| StageX | `MC_StageX_JogPos` | 42 | 正向 Jog(0:缺省, 1:点动) | -| StageX | `MC_StageX_JogNeg` | 43 | 反向 Jog(0:缺省, 1:点动) | -| StageY | `MC_StageY_JogPos` | 54 | 正向 Jog(0:缺省, 1:点动) | -| StageY | `MC_StageY_JogNeg` | 55 | 反向 Jog(0:缺省, 1:点动) | -| DetectorSwing | `MC_DetSwing_JogPos` | 66 | 正向 Jog(0:缺省, 1:点动) | -| DetectorSwing | `MC_DetSwing_JogNeg` | 67 | 反向 Jog(0:缺省, 1:点动) | -| StageRotation | `MC_StageRot_JogPos` | 78 | 正向 Jog(0:缺省, 1:点动) | -| StageRotation | `MC_StageRot_JogNeg` | 79 | 反向 Jog(0:缺省, 1:点动) | -| FixtureRotation | `MC_FixRot_JogPos` | 90 | 正向 Jog(0:缺省, 1:点动) | -| FixtureRotation | `MC_FixRot_JogNeg` | 91 | 反向 Jog(0:缺省, 1:点动) | - -### 1.2 单轴摇杆(腰圆)| Single Axis Joystick (Oval) - -**左键拖拽(默认模式)**: -- Y 轴输出 → SourceZ Jog(正向/反向) -- 若 SZDZLock=true,同时 → DetectorZ Jog(正向/反向) - -**右键拖拽(默认模式)**: -- Y 轴输出 → DetectorZ Jog(正向/反向) -- 若 SZDZLock=true,同时 → SourceZ Jog(正向/反向) - -**信号下发流程**: - -```csharp -private void HandleSingleJoystickOutput() -{ - switch (SingleJoystickActiveButton) - { - case MouseButtonType.Left: - UpdateLinearJog(AxisId.SourceZ, SingleJoystickOutputY); - if (_szdzLock) - UpdateLinearJog(AxisId.DetectorZ, SingleJoystickOutputY); - break; - case MouseButtonType.Right: - UpdateLinearJog(AxisId.DetectorZ, SingleJoystickOutputY); - if (_szdzLock) - UpdateLinearJog(AxisId.SourceZ, SingleJoystickOutputY); - break; - } -} -``` - -**PLC 信号地址**: - -| 轴 | 信号名 | 地址 | 说明 | -|----|--------|------|------| -| SourceZ | `MC_SourceZ_JogPos` | 18 | 正向 Jog(0:缺省, 1:点动) | -| SourceZ | `MC_SourceZ_JogNeg` | 19 | 反向 Jog(0:缺省, 1:点动) | -| DetectorZ | `MC_DetZ_JogPos` | 30 | 正向 Jog(0:缺省, 1:点动) | -| DetectorZ | `MC_DetZ_JogNeg` | 31 | 反向 Jog(0:缺省, 1:点动) | - -### 1.3 Jog 速度控制 | Jog Speed Control - -摇杆输出值(-1.0 ~ 1.0)映射为速度百分比(0% ~ 100%): - -```csharp -var speedPercent = Math.Abs(output) * 100; // 0% ~ 100% -``` - -**速度计算流程**: - -1. **MotionControlService.SetJogSpeed** 计算实际速度: - ```csharp - var actualSpeed = _config.DefaultVelocity * speedPercent / 100.0; - // 例如:DefaultVelocity=100, speedPercent=50 → actualSpeed=50 mm/s - ``` - -2. **PlcLinearAxis.SetJogSpeed** 将实际速度写入 PLC: - ```csharp - _signalService.EnqueueWrite(_speedSignal, (float)speedPercent); - // 注意:参数名 speedPercent 实际接收的是 actualSpeed(已计算的实际速度值) - ``` - -**PLC 信号地址**: - -| 轴 | 信号名 | 地址 | 说明 | -|----|--------|------|------| -| SourceZ | `MC_SourceZ_Speed` | 14 | 速度值(mm/s,由 DefaultVelocity * speedPercent / 100 计算) | -| DetectorZ | `MC_DetZ_Speed` | 26 | 速度值(mm/s,由 DefaultVelocity * speedPercent / 100 计算) | -| StageX | `MC_StageX_Speed` | 38 | 速度值(mm/s,由 DefaultVelocity * speedPercent / 100 计算) | -| StageY | `MC_StageY_Speed` | 50 | 速度值(mm/s,由 DefaultVelocity * speedPercent / 100 计算) | -| DetectorSwing | `MC_DetSwing_Speed` | 62 | 速度值(度/s,由 DefaultVelocity * speedPercent / 100 计算) | -| StageRotation | `MC_StageRot_Speed` | 74 | 速度值(度/s,由 DefaultVelocity * speedPercent / 100 计算) | -| FixtureRotation | `MC_FixRot_Speed` | 86 | 速度值(度/s,由 DefaultVelocity * speedPercent / 100 计算) | - -**示例**: -- `DefaultVelocity = 100` mm/s -- 摇杆输出 30% → PLC 接收速度 = 100 * 30% = 30 mm/s -- 摇杆输出 100% → PLC 接收速度 = 100 * 100% = 100 mm/s - -## 2. 轴位置输入框操作 | Axis Position Input Box Operation - -### 2.1 编辑状态管理 | Editing State Management - -- **GotFocus**:`SetEditing(propertyName, true)` → 冻结实时更新 -- **LostFocus/Escape**:`CancelEditing(propertyName)` → 恢复实时更新,显示实际值 -- **Enter**:`ConfirmPosition(propertyName)` → 发送目标位置移动命令 - -### 2.2 移动命令下发流程 | Move Command Flow - -```csharp -public void ConfirmPosition(string propertyName) -{ - var value = GetPropertyValue(propertyName); - SafeRun(() => - { - MotionResult result; - // 如果射线源与探测器Z轴联动,且操作的是SourceZ或DetectorZ,则同时发送两个轴 - if (SZDZLock && (propertyName == nameof(SourceZPosition) || propertyName == nameof(DetectorZPosition))) - { - result = SendSourceDetectorZMoveCommand(value); - } - else - { - result = SendMoveCommand(propertyName, value); - } - if (result.Success) - _logger.Info("目标位置已发送:{Property}={Value}", propertyName, value); - else - _logger.Warn("目标位置发送失败:{Property}={Value},原因={Reason}", propertyName, value, result.ErrorMessage); - }); - _editingFlags[propertyName] = false; -} - -private MotionResult SendMoveCommand(string propertyName, double value) -{ - switch (propertyName) - { - case nameof(StageXPosition): - return _motionControlService.MoveToTarget(AxisId.StageX, value); - case nameof(SourceZPosition): - return _motionControlService.MoveToTarget(AxisId.SourceZ, value); - // ... 其他轴 - } -} -``` - -### 2.3 单轴移动 | Single Axis Move - -```csharp -public MotionResult MoveToTarget(AxisId axisId, double targetPosition, int? speed = null) -{ - var axis = _motionSystem.GetLinearAxis(axisId); - var actualSpeed = speed ?? _config.DefaultVelocity; - - // 边界检查(使用配置中的 Min/Max) - if (targetPosition < config.Min || targetPosition > config.Max) - return MotionResult.Fail("目标位置超出范围"); - - // 写入目标位置和速度 - var targetResult = _signalService.EnqueueWrite(signalName, targetPosition); - var speedResult = _signalService.EnqueueWrite(speedSignalName, actualSpeed); - - // 启动移动(写入目标位置会自动触发移动) - return targetResult && speedResult ? MotionResult.Ok() : MotionResult.Fail("移动命令写入失败"); -} -``` - -**PLC 信号地址**: - -| 轴 | 目标位置信号 | 地址 | 速度信号 | 地址 | -|----|-------------|------|---------|------| -| SourceZ | `MC_SourceZ_Target` | 10 | `MC_SourceZ_Speed` | 14 | -| DetectorZ | `MC_DetZ_Target` | 22 | `MC_DetZ_Speed` | 26 | -| StageX | `MC_StageX_Target` | 34 | `MC_StageX_Speed` | 38 | -| StageY | `MC_StageY_Target` | 46 | `MC_StageY_Speed` | 50 | -| DetectorSwing | `MC_DetSwing_Target` | 58 | `MC_DetSwing_Speed` | 62 | -| StageRotation | `MC_StageRot_Target` | 70 | `MC_StageRot_Speed` | 74 | -| FixtureRotation | `MC_FixRot_Target` | 82 | `MC_FixRot_Speed` | 86 | - -### 2.4 步进移动 | Step Move - -上下箭头键触发 `StepPosition(propertyName, delta)`: - -```csharp -public void StepPosition(string propertyName, double delta) -{ - var currentValue = GetPropertyValue(propertyName); - var newValue = currentValue + delta; - SetPropertyValue(propertyName, newValue); - - // 直接发送移动命令,不进入编辑冻结 - if (SZDZLock && (propertyName == nameof(SourceZPosition) || propertyName == nameof(DetectorZPosition))) - { - result = SendSourceDetectorZMoveCommand(newValue); - } - else - { - result = SendMoveCommand(propertyName, newValue); - } -} -``` - -## 3. 射线源/探测器Z轴联动 | Source-Detector Z-axis Linkage - -### 3.1 联动使能 | Linkage Enable - -点击"SZDZLock"按钮切换联动状态: - -```csharp -private void ExecuteSZDZLock() -{ - SZDZLock = !SZDZLock; - var result = _motionControlService.SetSourceDetectorZLinkage(SZDZLock); - - if (!result.Success) - { - // 设置失败,恢复状态 - SZDZLock = !SZDZLock; - MessageBox.Show(result.ErrorMessage); - } -} -``` - -**PLC 信号**: - -| 信号名 | 地址 | 类型 | 说明 | -|--------|------|------|------| -| `MC_SourceDetZ_Linkage_Enable` | 101 | bool | 联动使能(true=启用, false=禁用) | - -### 3.2 联动移动 | Linkage Move - -当 SZDZLock=true 时,移动 SourceZ 或 DetectorZ 会同时移动两个轴,保持位移量相同: - -```csharp -private MotionResult SendSourceDetectorZMoveCommand(double targetValue) -{ - // 1. 检查联动是否在配置中启用 - if (!_config.SourceDetectorZLinkage.Enabled) - return MotionResult.Fail("射线源与探测器Z轴联动未启用"); - - // 2. 检查两个轴是否都在空闲状态 - var sourceZAxis = _motionSystem.GetLinearAxis(AxisId.SourceZ); - var detectorZAxis = _motionSystem.GetLinearAxis(AxisId.DetectorZ); - - if (sourceZAxis.Status == AxisStatus.Moving) - return MotionResult.Fail("射线源Z轴正在运动中,无法联动移动"); - - if (detectorZAxis.Status == AxisStatus.Moving) - return MotionResult.Fail("探测器Z轴正在运动中,无法联动移动"); - - // 3. 计算位移量和目标位置 - var currentSourceZ = sourceZAxis.ActualPosition; - var currentDetectorZ = detectorZAxis.ActualPosition; - var sourceDelta = targetValue - currentSourceZ; - var targetDetectorZ = currentDetectorZ + sourceDelta; - - // 4. 边界检查(使用配置中的 Min/Max) - if (targetValue < sourceConfig.Min || targetValue > sourceConfig.Max) - return MotionResult.Fail("射线源Z轴目标位置超出范围"); - - if (targetDetectorZ < detectorConfig.Min || targetDetectorZ > detectorConfig.Max) - return MotionResult.Fail("探测器Z轴目标位置超出范围"); - - // 5. 同时发送两个轴的移动命令 - var sourceResult = sourceZAxis.MoveToTarget(targetValue, _config.DefaultVelocity); - var detectorResult = detectorZAxis.MoveToTarget(targetDetectorZ, _config.DefaultVelocity); - - return sourceResult.Success && detectorResult.Success - ? MotionResult.Ok() - : (sourceResult.Success ? detectorResult : sourceResult); -} -``` - -**PLC 信号下发**: - -1. **SourceZ 移动**: - - `MC_SourceZ_Target` = targetValue(地址 10) - - `MC_SourceZ_Speed` = DefaultVelocity(地址 14) - -2. **DetectorZ 移动**: - - `MC_DetZ_Target` = currentDetectorZ + (targetValue - currentSourceZ)(地址 22) - - `MC_DetZ_Speed` = DefaultVelocity(地址 26) - -### 3.3 联动 Jog | Linkage Jog - -当 SZDZLock=true 时,单轴摇杆的左右键会同时控制两个轴: - -```csharp -private void HandleSingleJoystickOutput() -{ - switch (SingleJoystickActiveButton) - { - case MouseButtonType.Left: - UpdateLinearJog(AxisId.SourceZ, SingleJoystickOutputY); - if (_szdzLock) - UpdateLinearJog(AxisId.DetectorZ, SingleJoystickOutputY); - break; - case MouseButtonType.Right: - UpdateLinearJog(AxisId.DetectorZ, SingleJoystickOutputY); - if (_szdzLock) - UpdateLinearJog(AxisId.SourceZ, SingleJoystickOutputY); - break; - } -} -``` - -**PLC 信号下发**: - -- **SourceZ Jog**: - - `MC_SourceZ_JogPos`/`MC_SourceZ_JogNeg` = true(地址 18/19) - - `MC_SourceZ_Speed` = speedPercent(地址 14) - -- **DetectorZ Jog**: - - `MC_DetZ_JogPos`/`MC_DetZ_JogNeg` = true(地址 30/31) - - `MC_DetZ_Speed` = speedPercent(地址 26) - -## 4. 虚拟摇杆使能 | Virtual Joystick Enable - -点击"使能开关"按钮切换虚拟摇杆使能状态: - -```csharp -private void ExecuteToggleEnable() -{ - IsJoystickEnabled = !IsJoystickEnabled; - _motionControlService.SetVirtualJoystickEnable(IsJoystickEnabled); -} -``` - -**PLC 信号**: - -| 信号名 | 地址 | 类型 | 说明 | -|--------|------|------|------| -| `MC_VirtualJoystick_Enable` | 111 | bool | 虚拟摇杆使能(true=启用, false=禁用) | - -## 5. 信号写入队列机制 | Signal Write Queue Mechanism - -所有 PLC 写入操作通过 `ISignalDataService.EnqueueWrite()` 进入写入队列: - -```csharp -public interface ISignalDataService -{ - bool EnqueueWrite(string signalName, object value); - bool EnqueueWriteBatch(Dictionary writes); -} -``` - -**队列处理流程**: - -1. ViewModel 调用 `EnqueueWrite(signalName, value)` -2. 信号数据服务将写入请求加入队列 -3. PLC 服务在轮询周期(默认 100ms)中批量写入 -4. 写入成功后从队列移除 - -**优势**: - -- 批量写入减少 PLC 通讯次数 -- 避免频繁写入导致的通讯拥塞 -- 统一的错误处理和重试机制 - ---- \ No newline at end of file diff --git a/XP.Hardware.MotionControl/Documents/AxisControlView_PLC_Communication.md.md b/XP.Hardware.MotionControl/Documents/AxisControlView_PLC_Communication.md.md new file mode 100644 index 0000000..b9b939a --- /dev/null +++ b/XP.Hardware.MotionControl/Documents/AxisControlView_PLC_Communication.md.md @@ -0,0 +1,803 @@ +# AxisControlView PLC 通信机制 | AxisControlView PLC Communication + +## 概述 | Overview + +AxisControlView 是运动控制模块的核心用户控件,通过 AxisControlViewModel 与 PLC 进行双向通信。本文档详细说明摇杆 Jog 操作、轴位置输入框操作、射线源/探测器Z轴联动、安全机制以及辅助功能的 PLC 信号下发机制。 + +## 通信架构 | Communication Architecture + +``` +AxisControlView (XAML) + ↓ (数据绑定) +AxisControlViewModel (C#) + ↓ (调用) +IMotionControlService + ↓ (调用) +IMotionSystem → PlcLinearAxis / PlcRotaryAxis + ↓ (调用) +ISignalDataService.EnqueueWrite() + ↓ (写入队列) +PLC (DB31, WriteCommon 组) +``` + +**关键分层说明**: +- `AxisControlViewModel` 调用 `IMotionControlService` 的业务方法 +- `IMotionControlService` 委托给 `IMotionSystem` 获取轴实例(`PlcLinearAxis` / `PlcRotaryAxis`) +- 轴实例内部通过 `ISignalDataService.EnqueueWrite()` 写入 PLC 信号 +- ViewModel 不直接操作信号,所有信号写入由轴实现层完成 + +## 1. 摇杆 Jog 操作 | Joystick Jog Operation + +### 1.1 双轴摇杆(圆形)| Dual Axis Joystick (Circular) + +**左键拖拽(默认模式)**: +- X 轴输出 → StageX Jog(正向/反向) +- Y 轴输出 → StageY Jog(正向/反向) + +**右键拖拽(默认模式)**: +- X 轴输出 → DetectorSwing Jog(正向/反向) +- Y 轴输出 → StageRotation/FixtureRotation Jog(正向/反向) + +> 注:当 `SwapMouseButtons=true` 时,左右键功能互换。 + +**信号下发流程**: + +```csharp +// 1. 摇杆输出变化触发 HandleDualJoystickOutput() +private void HandleDualJoystickOutput() +{ + switch (DualJoystickActiveButton) + { + case MouseButtonType.Left: + UpdateLinearJog(AxisId.StageX, DualJoystickOutputX); + UpdateLinearJog(AxisId.StageY, DualJoystickOutputY); + break; + case MouseButtonType.Right: + UpdateRotaryJog(RotaryAxisId.DetectorSwing, DualJoystickOutputX); + var rotationAxisId = GetEnabledRotationAxisId(); + if (rotationAxisId.HasValue) + UpdateRotaryJog(rotationAxisId.Value, DualJoystickOutputY); + break; + } +} + +// 2. UpdateLinearJog 处理 Jog 启动/速度更新/停止 +private void UpdateLinearJog(AxisId axisId, double output) +{ + if (output != 0) + { + var speedPercent = Math.Abs(output) * 100; + var positive = output > 0; + + if (!_linearJogActive[axisId]) + { + // 从零变为非零:先设速度再启动 Jog + _motionControlService.SetJogSpeed(axisId, speedPercent); + _motionControlService.JogStart(axisId, positive); + _linearJogActive[axisId] = true; + } + else + { + // 已在 Jog 中:仅更新速度 + _motionControlService.SetJogSpeed(axisId, speedPercent); + } + } + else + { + // 从非零变为零:停止 Jog + if (_linearJogActive[axisId]) + { + _motionControlService.JogStop(axisId); + _linearJogActive[axisId] = false; + } + } +} + +// 3. MotionControlService.JogStart 委托给轴实现 +public MotionResult JogStart(AxisId axisId, bool positive) +{ + var axis = _motionSystem.GetLinearAxis(axisId); + // Homing 状态检查 + if (axis.Status == AxisStatus.Homing) + return MotionResult.Fail("轴正在回零,拒绝 Jog 命令"); + return axis.JogStart(positive); +} + +// 4. PlcLinearAxis.JogStart 写入 PLC 信号 +public override MotionResult JogStart(bool positive) +{ + if (Status == AxisStatus.Homing) + return MotionResult.Fail("轴正在回零,拒绝 Jog 命令"); + var signal = positive ? _jogPosSignal : _jogNegSignal; + _signalService.EnqueueWrite(signal, true); + return MotionResult.Ok(); +} +``` + +**旋转轴 Jog 流程类似**(`UpdateRotaryJog` → `SetJogRotarySpeed` → `JogRotaryStart`),额外包含禁用轴检查。 + + +**PLC 信号地址(直线轴 Jog)**: + +| 轴 | 信号名 | 地址 | 说明 | +|----|--------|------|------| +| SourceZ | `MC_SourceZ_JogPos` | 18 | 正向 Jog(0:缺省, 1:点动) | +| SourceZ | `MC_SourceZ_JogNeg` | 19 | 反向 Jog(0:缺省, 1:点动) | +| DetectorZ | `MC_DetZ_JogPos` | 30 | 正向 Jog(0:缺省, 1:点动) | +| DetectorZ | `MC_DetZ_JogNeg` | 31 | 反向 Jog(0:缺省, 1:点动) | +| StageX | `MC_StageX_JogPos` | 42 | 正向 Jog(0:缺省, 1:点动) | +| StageX | `MC_StageX_JogNeg` | 43 | 反向 Jog(0:缺省, 1:点动) | +| StageY | `MC_StageY_JogPos` | 54 | 正向 Jog(0:缺省, 1:点动) | +| StageY | `MC_StageY_JogNeg` | 55 | 反向 Jog(0:缺省, 1:点动) | + +**PLC 信号地址(旋转轴 Jog)**: + +| 轴 | 信号名 | 地址 | 说明 | +|----|--------|------|------| +| DetectorSwing | `MC_DetSwing_JogPos` | 66 | 正向 Jog(0:缺省, 1:点动) | +| DetectorSwing | `MC_DetSwing_JogNeg` | 67 | 反向 Jog(0:缺省, 1:点动) | +| StageRotation | `MC_StageRot_JogPos` | 78 | 正向 Jog(0:缺省, 1:点动) | +| StageRotation | `MC_StageRot_JogNeg` | 79 | 反向 Jog(0:缺省, 1:点动) | +| FixtureRotation | `MC_FixRot_JogPos` | 90 | 正向 Jog(0:缺省, 1:点动) | +| FixtureRotation | `MC_FixRot_JogNeg` | 91 | 反向 Jog(0:缺省, 1:点动) | + +### 1.2 单轴摇杆(腰圆)| Single Axis Joystick (Oval) + +**左键拖拽(默认模式)**: +- Y 轴输出 → SourceZ Jog(正向/反向) +- 若 SZDZLock=true,同时 → DetectorZ Jog(正向/反向) + +**右键拖拽(默认模式)**: +- Y 轴输出 → DetectorZ Jog(正向/反向) +- 若 SZDZLock=true,同时 → SourceZ Jog(正向/反向) + +**信号下发流程**: + +```csharp +private void HandleSingleJoystickOutput() +{ + switch (SingleJoystickActiveButton) + { + case MouseButtonType.Left: + UpdateLinearJog(AxisId.SourceZ, SingleJoystickOutputY); + if (_szdzLock) + UpdateLinearJog(AxisId.DetectorZ, SingleJoystickOutputY); + break; + case MouseButtonType.Right: + UpdateLinearJog(AxisId.DetectorZ, SingleJoystickOutputY); + if (_szdzLock) + UpdateLinearJog(AxisId.SourceZ, SingleJoystickOutputY); + break; + } +} +``` + +### 1.3 按键释放自动停止 | Button Release Auto-Stop + +当摇杆按键从非 None 变为 None 时,自动停止所有关联轴的 Jog: + +```csharp +// DualJoystickActiveButton setter 中 +if (value == MouseButtonType.None && oldValue != MouseButtonType.None) + StopDualJoystickAxes(); + +// StopDualJoystickAxes 停止所有双轴摇杆关联轴 +private void StopDualJoystickAxes() +{ + UpdateLinearJog(AxisId.StageX, 0); + UpdateLinearJog(AxisId.StageY, 0); + UpdateRotaryJog(RotaryAxisId.DetectorSwing, 0); + var rotationAxisId = GetEnabledRotationAxisId(); + if (rotationAxisId.HasValue) + UpdateRotaryJog(rotationAxisId.Value, 0); +} +``` + +单轴摇杆同理(`StopSingleJoystickAxes` 停止 SourceZ 和 DetectorZ)。 + +### 1.4 Jog 速度控制 | Jog Speed Control + +摇杆输出值(-1.0 ~ 1.0)映射为速度百分比(0% ~ 100%): + +```csharp +var speedPercent = Math.Abs(output) * 100; // 0% ~ 100% +``` + +**速度计算流程**: + +1. **MotionControlService.SetJogSpeed** 计算实际速度: + ```csharp + public MotionResult SetJogSpeed(AxisId axisId, double speedPercent) + { + var axis = _motionSystem.GetLinearAxis(axisId); + var actualSpeed = _config.DefaultVelocity * speedPercent / 100.0; + return axis.SetJogSpeed(actualSpeed); + } + ``` + +2. **PlcLinearAxis.SetJogSpeed** 将实际速度写入 PLC: + ```csharp + public override MotionResult SetJogSpeed(double speedPercent) + { + // 注意:参数名为 speedPercent,但实际接收的是已计算的速度值(mm/s 或 度/s) + _signalService.EnqueueWrite(_speedSignal, (float)speedPercent); + return MotionResult.Ok(); + } + ``` + +**PLC 速度信号地址**: + +| 轴 | 信号名 | 地址 | 说明 | +|----|--------|------|------| +| SourceZ | `MC_SourceZ_Speed` | 14 | 速度值(mm/s,由 DefaultVelocity × speedPercent / 100 计算) | +| DetectorZ | `MC_DetZ_Speed` | 26 | 速度值(mm/s,由 DefaultVelocity × speedPercent / 100 计算) | +| StageX | `MC_StageX_Speed` | 38 | 速度值(mm/s,由 DefaultVelocity × speedPercent / 100 计算) | +| StageY | `MC_StageY_Speed` | 50 | 速度值(mm/s,由 DefaultVelocity × speedPercent / 100 计算) | +| DetectorSwing | `MC_DetSwing_Speed` | 62 | 速度值(度/s,由 DefaultVelocity × speedPercent / 100 计算) | +| StageRotation | `MC_StageRot_Speed` | 74 | 速度值(度/s,由 DefaultVelocity × speedPercent / 100 计算) | +| FixtureRotation | `MC_FixRot_Speed` | 86 | 速度值(度/s,由 DefaultVelocity × speedPercent / 100 计算) | + +**示例**: +- `DefaultVelocity = 100` mm/s +- 摇杆输出 30% → PLC 接收速度 = 100 × 30 / 100 = 30 mm/s +- 摇杆输出 100% → PLC 接收速度 = 100 × 100 / 100 = 100 mm/s + +## 2. 轴位置输入框操作 | Axis Position Input Box Operation + +### 2.1 编辑状态管理 | Editing State Management + +- **GotFocus**:`SetEditing(propertyName, true)` → 冻结实时更新 +- **LostFocus/Escape**:`CancelEditing(propertyName)` → 恢复实时更新,显示实际值 +- **Enter**:`ConfirmPosition(propertyName)` → 发送目标位置移动命令 + +### 2.2 移动命令下发流程 | Move Command Flow + +```csharp +public void ConfirmPosition(string propertyName) +{ + var value = GetPropertyValue(propertyName); + SafeRun(() => + { + MotionResult result; + // 如果射线源与探测器Z轴联动,且操作的是SourceZ或DetectorZ,则同时发送两个轴 + if (SZDZLock && (propertyName == nameof(SourceZPosition) || propertyName == nameof(DetectorZPosition))) + { + result = SendSourceDetectorZMoveCommand(value); + } + else + { + result = SendMoveCommand(propertyName, value); + } + if (result.Success) + _logger.Info("目标位置已发送:{Property}={Value}", propertyName, value); + else + _logger.Warn("目标位置发送失败:{Property}={Value},原因={Reason}", propertyName, value, result.ErrorMessage); + }); + _editingFlags[propertyName] = false; +} + +private MotionResult SendMoveCommand(string propertyName, double value) +{ + switch (propertyName) + { + case nameof(StageXPosition): + return _motionControlService.MoveToTarget(AxisId.StageX, value); + case nameof(StageYPosition): + return _motionControlService.MoveToTarget(AxisId.StageY, value); + case nameof(SourceZPosition): + return _motionControlService.MoveToTarget(AxisId.SourceZ, value); + case nameof(DetectorZPosition): + return _motionControlService.MoveToTarget(AxisId.DetectorZ, value); + case nameof(DetectorSwingAngle): + return _motionControlService.MoveRotaryToTarget(RotaryAxisId.DetectorSwing, value); + case nameof(StageRotationAngle): + return _motionControlService.MoveRotaryToTarget(RotaryAxisId.StageRotation, value); + case nameof(FixtureRotationAngle): + return _motionControlService.MoveRotaryToTarget(RotaryAxisId.FixtureRotation, value); + default: + return MotionResult.Fail($"未知的属性名称:{propertyName}"); + } +} +``` + +### 2.3 单轴移动 | Single Axis Move + +```csharp +// MotionControlService.MoveToTarget — 业务层 +public MotionResult MoveToTarget(AxisId axisId, double target, double? speed = null) +{ + var axis = _motionSystem.GetLinearAxis(axisId); + + // 运动中防重入检查 + if (axis.Status == AxisStatus.Moving) + return MotionResult.Fail("轴正在运动中,拒绝重复命令"); + + // 委托给轴实现(轴内部包含边界检查) + return axis.MoveToTarget(target, speed ?? _config.DefaultVelocity); +} + +// PlcLinearAxis.MoveToTarget — 轴实现层 +public override MotionResult MoveToTarget(double target, double? speed = null) +{ + if (!ValidateTarget(target)) + return MotionResult.Fail($"目标位置 {target} 超出范围 [{_min}, {_max}]"); + if (Status == AxisStatus.Moving) + return MotionResult.Fail("轴正在运动中,拒绝重复命令"); + + if (speed.HasValue) + _signalService.EnqueueWrite(_speedSignal, (float)speed.Value); + _signalService.EnqueueWrite(_writeSignal, (float)target); + Status = AxisStatus.Moving; + return MotionResult.Ok(); +} +``` + +**PLC 信号地址**: + +| 轴 | 目标位置信号 | 地址 | 速度信号 | 地址 | +|----|-------------|------|---------|------| +| SourceZ | `MC_SourceZ_Target` | 10 | `MC_SourceZ_Speed` | 14 | +| DetectorZ | `MC_DetZ_Target` | 22 | `MC_DetZ_Speed` | 26 | +| StageX | `MC_StageX_Target` | 34 | `MC_StageX_Speed` | 38 | +| StageY | `MC_StageY_Target` | 46 | `MC_StageY_Speed` | 50 | +| DetectorSwing | `MC_DetSwing_Target` | 58 | `MC_DetSwing_Speed` | 62 | +| StageRotation | `MC_StageRot_Target` | 70 | `MC_StageRot_Speed` | 74 | +| FixtureRotation | `MC_FixRot_Target` | 82 | `MC_FixRot_Speed` | 86 | + +### 2.4 步进移动 | Step Move + +上下箭头键触发 `StepPosition(propertyName, delta)`: + +```csharp +public void StepPosition(string propertyName, double delta) +{ + var currentValue = GetPropertyValue(propertyName); + var newValue = currentValue + delta; + SetPropertyValue(propertyName, newValue); + SafeRun(() => + { + MotionResult result; + if (SZDZLock && (propertyName == nameof(SourceZPosition) || propertyName == nameof(DetectorZPosition))) + { + result = SendSourceDetectorZMoveCommand(newValue); + } + else + { + result = SendMoveCommand(propertyName, newValue); + } + if (!result.Success) + _logger.Warn("步进移动失败:{Property},原因={Reason}", propertyName, result.ErrorMessage); + }); +} +``` + +## 3. 射线源/探测器Z轴联动 | Source-Detector Z-axis Linkage + +### 3.1 联动使能 | Linkage Enable + +点击"SZDZLock"按钮切换联动状态: + +```csharp +private void ExecuteSZDZLock() +{ + // 切换联动状态 + SZDZLock = !SZDZLock; + + // 调用服务设置联动 + var result = _motionControlService.SetSourceDetectorZLinkage(SZDZLock); + + if (!result.Success) + { + // 如果设置失败,恢复状态 + SZDZLock = !SZDZLock; + MessageBox.Show(result.ErrorMessage, ...); + } +} + +// MotionControlService.SetSourceDetectorZLinkage +public MotionResult SetSourceDetectorZLinkage(bool enabled) +{ + var config = _config.SourceDetectorZLinkage; + if (!config.Enabled) + return MotionResult.Fail("射线源与探测器Z轴联动未启用"); + + var result = _signalService.EnqueueWrite(MotionSignalNames.SourceDetZ_Linkage_Enable, (bool)enabled); + return result ? MotionResult.Ok() : MotionResult.Fail("联动使能写入失败"); +} +``` + +另外提供公开方法 `SetSZDZLinkageToPlc()` 供外部直接同步当前联动状态到 PLC: + +```csharp +public MotionResult SetSZDZLinkageToPlc() +{ + return _motionControlService.SetSourceDetectorZLinkage(SZDZLock); +} +``` + +**PLC 信号**: + +| 信号名 | 地址 | 类型 | 说明 | +|--------|------|------|------| +| `MC_SourceDetZ_Linkage_Enable` | 101 | bool | 联动使能(true=启用, false=禁用) | + +### 3.2 联动移动 | Linkage Move + +当 SZDZLock=true 时,移动 SourceZ 或 DetectorZ 会同时移动两个轴,保持位移量相同: + +```csharp +private MotionResult SendSourceDetectorZMoveCommand(double targetValue) +{ + // 1. 检查联动是否在配置中启用 + if (!_config.SourceDetectorZLinkage.Enabled) + return MotionResult.Fail("射线源与探测器Z轴联动未启用"); + + // 2. 获取两个轴并检查是否都在空闲状态 + var sourceZAxis = _motionSystem.GetLinearAxis(AxisId.SourceZ); + var detectorZAxis = _motionSystem.GetLinearAxis(AxisId.DetectorZ); + + if (sourceZAxis.Status == AxisStatus.Moving) + return MotionResult.Fail("射线源Z轴正在运动中,无法联动移动"); + if (detectorZAxis.Status == AxisStatus.Moving) + return MotionResult.Fail("探测器Z轴正在运动中,无法联动移动"); + + // 3. 计算位移量和目标位置 + var currentSourceZ = sourceZAxis.ActualPosition; + var currentDetectorZ = detectorZAxis.ActualPosition; + var sourceDelta = targetValue - currentSourceZ; + var targetDetectorZ = currentDetectorZ + sourceDelta; + + // 4. 边界检查(使用配置中的 Min/Max,收集所有错误后统一返回) + if (_config.LinearAxes.TryGetValue(AxisId.SourceZ, out var sourceConfig) && + _config.LinearAxes.TryGetValue(AxisId.DetectorZ, out var detectorConfig)) + { + var errors = new List(); + if (targetValue < sourceConfig.Min || targetValue > sourceConfig.Max) + errors.Add("射线源Z轴目标位置超出范围"); + if (targetDetectorZ < detectorConfig.Min || targetDetectorZ > detectorConfig.Max) + errors.Add("探测器Z轴目标位置超出范围"); + if (errors.Count > 0) + return MotionResult.Fail(string.Join("; ", errors)); + } + + // 5. 同时发送两个轴的移动命令(通过轴实现层写入 PLC) + var sourceResult = sourceZAxis.MoveToTarget(targetValue, _config.DefaultVelocity); + var detectorResult = detectorZAxis.MoveToTarget(targetDetectorZ, _config.DefaultVelocity); + + if (!sourceResult.Success) return sourceResult; + if (!detectorResult.Success) return detectorResult; + return MotionResult.Ok(); +} +``` + +**PLC 信号下发**: + +1. **SourceZ 移动**: + - `MC_SourceZ_Speed` = DefaultVelocity(地址 14) + - `MC_SourceZ_Target` = targetValue(地址 10) + +2. **DetectorZ 移动**: + - `MC_DetZ_Speed` = DefaultVelocity(地址 26) + - `MC_DetZ_Target` = currentDetectorZ + (targetValue - currentSourceZ)(地址 22) + +### 3.3 联动 Jog | Linkage Jog + +当 SZDZLock=true 时,单轴摇杆的左右键会同时控制两个轴: + +```csharp +private void HandleSingleJoystickOutput() +{ + switch (SingleJoystickActiveButton) + { + case MouseButtonType.Left: + UpdateLinearJog(AxisId.SourceZ, SingleJoystickOutputY); + if (_szdzLock) + UpdateLinearJog(AxisId.DetectorZ, SingleJoystickOutputY); + break; + case MouseButtonType.Right: + UpdateLinearJog(AxisId.DetectorZ, SingleJoystickOutputY); + if (_szdzLock) + UpdateLinearJog(AxisId.SourceZ, SingleJoystickOutputY); + break; + } +} +``` + +**PLC 信号下发**: + +- **SourceZ Jog**: + - `MC_SourceZ_Speed` = actualSpeed(地址 14) + - `MC_SourceZ_JogPos`/`MC_SourceZ_JogNeg` = true(地址 18/19) + +- **DetectorZ Jog**: + - `MC_DetZ_Speed` = actualSpeed(地址 26) + - `MC_DetZ_JogPos`/`MC_DetZ_JogNeg` = true(地址 30/31) + + +## 4. 虚拟摇杆使能 | Virtual Joystick Enable + +点击"使能开关"按钮切换虚拟摇杆使能状态: + +```csharp +private void ExecuteToggleEnable() +{ + IsJoystickEnabled = !IsJoystickEnabled; + + var result = _motionControlService.SetVirtualJoystickEnable(IsJoystickEnabled); + if (!result.Success) + { + MessageBox.Show(result.ErrorMessage, ...); + } +} + +// MotionControlService.SetVirtualJoystickEnable +public MotionResult SetVirtualJoystickEnable(bool enabled) +{ + var result = _signalService.EnqueueWrite(MotionSignalNames.VirtualJoystick_Enable, (bool)enabled); + return result ? MotionResult.Ok() : MotionResult.Fail("虚拟摇杆使能写入失败"); +} +``` + +**PLC 信号**: + +| 信号名 | 地址 | 类型 | 说明 | +|--------|------|------|------| +| `MC_VirtualJoystick_Enable` | 111 | bool | 虚拟摇杆使能(true=启用, false=禁用) | + +## 5. 鼠标按键交换 | Mouse Button Swap + +点击"交换按键"按钮切换摇杆左右键功能映射: + +```csharp +private void ExecuteToggleSwapMouseButtons() +{ + SwapMouseButtons = !SwapMouseButtons; +} +``` + +此功能为纯 UI 层逻辑,不涉及 PLC 信号写入。当 `SwapMouseButtons=true` 时,摇杆控件内部交换左右键的功能映射。 + +## 6. 保存/恢复轴位置 | Save/Restore Axis Positions + +### 6.1 保存当前位置 | Save Current Positions + +```csharp +private void ExecuteSavePositions() +{ + _savedPositions = new SavedPositions + { + StageX = StageXPosition, + StageY = StageYPosition, + SourceZ = SourceZPosition, + DetectorZ = DetectorZPosition, + DetectorSwing = DetectorSwingAngle, + StageRotation = StageRotationAngle, + FixtureRotation = FixtureRotationAngle + }; +} +``` + +### 6.2 恢复保存的位置 | Restore Saved Positions + +恢复时会同时向所有轴发送移动命令: + +```csharp +private void ExecuteRestorePositions() +{ + if (_savedPositions == null) return; + + // 恢复到输入框 + StageXPosition = _savedPositions.StageX; + StageYPosition = _savedPositions.StageY; + SourceZPosition = _savedPositions.SourceZ; + DetectorZPosition = _savedPositions.DetectorZ; + DetectorSwingAngle = _savedPositions.DetectorSwing; + StageRotationAngle = _savedPositions.StageRotation; + FixtureRotationAngle = _savedPositions.FixtureRotation; + + // 发送移动命令(通过 MotionControlService → PlcLinearAxis/PlcRotaryAxis → PLC) + _motionControlService.MoveToTarget(AxisId.StageX, _savedPositions.StageX); + _motionControlService.MoveToTarget(AxisId.StageY, _savedPositions.StageY); + _motionControlService.MoveToTarget(AxisId.SourceZ, _savedPositions.SourceZ); + _motionControlService.MoveToTarget(AxisId.DetectorZ, _savedPositions.DetectorZ); + _motionControlService.MoveRotaryToTarget(RotaryAxisId.DetectorSwing, _savedPositions.DetectorSwing); + _motionControlService.MoveRotaryToTarget(RotaryAxisId.StageRotation, _savedPositions.StageRotation); + _motionControlService.MoveRotaryToTarget(RotaryAxisId.FixtureRotation, _savedPositions.FixtureRotation); +} +``` + +**PLC 信号下发**:恢复时向所有 7 个轴写入目标位置和速度信号(参见第 2.3 节信号地址表)。 + +## 7. 安全参数 | Safety Parameters + +ViewModel 提供以下安全参数属性: + +| 属性 | 说明 | +|------|------| +| `SafetyHeight` | 探测器安全高度限定值 | +| `CalibrationValue` | 校准自动计算值 | + +```csharp +public void ConfirmSafetyHeight() +{ + _logger.Info("探测器安全高度限定值已保存:{Value}", SafetyHeight); +} + +public void ConfirmCalibrationValue() +{ + _logger.Info("校准自动计算值已保存:{Value}", CalibrationValue); +} +``` + +> 注:当前实现仅记录日志,未写入 PLC 信号。后续可能扩展为写入 PLC 安全参数区域。 + +## 8. PLC 断连安全处理 | PLC Disconnection Safety + +当 PLC 连接断开时,ViewModel 自动执行以下安全操作: + +```csharp +private void OnPlcConnectionChanged() +{ + IsPlcConnected = _plcService.IsConnected; + + if (!_plcService.IsConnected) + { + // 1. 停止所有活跃的 Jog 操作(标记为停止) + foreach (var axisId in _linearJogActive.Keys) + if (_linearJogActive[axisId]) + _linearJogActive[axisId] = false; + foreach (var axisId in _rotaryJogActive.Keys) + if (_rotaryJogActive[axisId]) + _rotaryJogActive[axisId] = false; + + // 2. 禁用摇杆 + IsJoystickEnabled = false; + + // 3. 显示连接断开提示 + ErrorMessage = LocalizationHelper.Get("MC_PlcNotConnected"); + } + else + { + // PLC 重连:清除错误信息(不自动启用摇杆,需用户手动开启) + ErrorMessage = null; + } +} +``` + +**安全策略**: +- PLC 断连时立即标记所有 Jog 为停止状态 +- 禁用虚拟摇杆,防止用户误操作 +- PLC 重连后不自动恢复使能,需用户手动确认后开启 + +## 9. 实体摇杆状态 | Physical Joystick Status + +通过 `JoystickActiveEvent` 事件订阅实体摇杆的激活状态: + +```csharp +_eventAggregator.GetEvent().Subscribe(OnJoystickActiveChanged, ThreadOption.UIThread); + +private void OnJoystickActiveChanged(bool isActive) +{ + IsJoystickActive = isActive; +} +``` + +**PLC 信号(读取)**: + +| 信号名 | 说明 | +|--------|------| +| `MC_Joystick_Active` | 实体摇杆输入激活状态(由 PLC 轮询读取) | + +## 10. 旋转轴可见性控制 | Rotary Axis Visibility Control + +根据配置动态控制旋转轴输入框的可见性: + +```csharp +DetectorSwingVisibility = _config.RotaryAxes.ContainsKey(RotaryAxisId.DetectorSwing) + && _config.RotaryAxes[RotaryAxisId.DetectorSwing].Enabled + ? Visibility.Visible : Visibility.Collapsed; + +StageRotationVisibility = _config.RotaryAxes.ContainsKey(RotaryAxisId.StageRotation) + && _config.RotaryAxes[RotaryAxisId.StageRotation].Enabled + ? Visibility.Visible : Visibility.Collapsed; + +FixtureRotationVisibility = _config.RotaryAxes.ContainsKey(RotaryAxisId.FixtureRotation) + && _config.RotaryAxes[RotaryAxisId.FixtureRotation].Enabled + ? Visibility.Visible : Visibility.Collapsed; +``` + +此功能为纯 UI 层逻辑,不涉及 PLC 信号。 + +## 11. 信号写入队列机制 | Signal Write Queue Mechanism + +所有 PLC 写入操作通过 `ISignalDataService.EnqueueWrite()` 进入写入队列: + +```csharp +public interface ISignalDataService +{ + bool EnqueueWrite(string signalName, object value); + bool EnqueueWriteBatch(Dictionary writes); + T GetValueByName(string signalName); +} +``` + +**队列处理流程**: + +1. 轴实现层(`PlcLinearAxis`/`PlcRotaryAxis`)调用 `EnqueueWrite(signalName, value)` +2. 信号数据服务将写入请求加入队列 +3. PLC 服务在轮询周期(默认 100ms)中批量写入 +4. 写入成功后从队列移除 + +**优势**: + +- 批量写入减少 PLC 通讯次数 +- 避免频繁写入导致的通讯拥塞 +- 统一的错误处理和重试机制 + +## 12. 完整 PLC 信号名称常量 | Complete PLC Signal Name Constants + +定义在 `MotionSignalNames.cs` 中: + +| 分类 | 常量名 | 信号名 | 方向 | +|------|--------|--------|------| +| 联动 | `SourceDetZ_Linkage_Enable` | `MC_SourceDetZ_Linkage_Enable` | 写入 | +| 使能 | `VirtualJoystick_Enable` | `MC_VirtualJoystick_Enable` | 写入 | +| 状态 | `Joystick_Active` | `MC_Joystick_Active` | 读取 | +| SourceZ | `SourceZ_Pos` | `MC_SourceZ_Pos` | 读取 | +| SourceZ | `SourceZ_Target` | `MC_SourceZ_Target` | 写入 | +| SourceZ | `SourceZ_Speed` | `MC_SourceZ_Speed` | 写入 | +| SourceZ | `SourceZ_JogPos` | `MC_SourceZ_JogPos` | 写入 | +| SourceZ | `SourceZ_JogNeg` | `MC_SourceZ_JogNeg` | 写入 | +| SourceZ | `SourceZ_Home` | `MC_SourceZ_Home` | 写入 | +| SourceZ | `SourceZ_Stop` | `MC_SourceZ_Stop` | 写入 | +| DetectorZ | `DetZ_Pos` | `MC_DetZ_Pos` | 读取 | +| DetectorZ | `DetZ_Target` | `MC_DetZ_Target` | 写入 | +| DetectorZ | `DetZ_Speed` | `MC_DetZ_Speed` | 写入 | +| DetectorZ | `DetZ_JogPos` | `MC_DetZ_JogPos` | 写入 | +| DetectorZ | `DetZ_JogNeg` | `MC_DetZ_JogNeg` | 写入 | +| DetectorZ | `DetZ_Home` | `MC_DetZ_Home` | 写入 | +| DetectorZ | `DetZ_Stop` | `MC_DetZ_Stop` | 写入 | +| StageX | `StageX_Pos` | `MC_StageX_Pos` | 读取 | +| StageX | `StageX_Target` | `MC_StageX_Target` | 写入 | +| StageX | `StageX_Speed` | `MC_StageX_Speed` | 写入 | +| StageX | `StageX_JogPos` | `MC_StageX_JogPos` | 写入 | +| StageX | `StageX_JogNeg` | `MC_StageX_JogNeg` | 写入 | +| StageX | `StageX_Home` | `MC_StageX_Home` | 写入 | +| StageX | `StageX_Stop` | `MC_StageX_Stop` | 写入 | +| StageY | `StageY_Pos` | `MC_StageY_Pos` | 读取 | +| StageY | `StageY_Target` | `MC_StageY_Target` | 写入 | +| StageY | `StageY_Speed` | `MC_StageY_Speed` | 写入 | +| StageY | `StageY_JogPos` | `MC_StageY_JogPos` | 写入 | +| StageY | `StageY_JogNeg` | `MC_StageY_JogNeg` | 写入 | +| StageY | `StageY_Home` | `MC_StageY_Home` | 写入 | +| StageY | `StageY_Stop` | `MC_StageY_Stop` | 写入 | +| DetSwing | `DetSwing_Angle` | `MC_DetSwing_Angle` | 读取 | +| DetSwing | `DetSwing_Target` | `MC_DetSwing_Target` | 写入 | +| DetSwing | `DetSwing_Speed` | `MC_DetSwing_Speed` | 写入 | +| DetSwing | `DetSwing_JogPos` | `MC_DetSwing_JogPos` | 写入 | +| DetSwing | `DetSwing_JogNeg` | `MC_DetSwing_JogNeg` | 写入 | +| DetSwing | `DetSwing_Home` | `MC_DetSwing_Home` | 写入 | +| DetSwing | `DetSwing_Stop` | `MC_DetSwing_Stop` | 写入 | +| StageRot | `StageRot_Angle` | `MC_StageRot_Angle` | 读取 | +| StageRot | `StageRot_Target` | `MC_StageRot_Target` | 写入 | +| StageRot | `StageRot_Speed` | `MC_StageRot_Speed` | 写入 | +| StageRot | `StageRot_JogPos` | `MC_StageRot_JogPos` | 写入 | +| StageRot | `StageRot_JogNeg` | `MC_StageRot_JogNeg` | 写入 | +| StageRot | `StageRot_Home` | `MC_StageRot_Home` | 写入 | +| StageRot | `StageRot_Stop` | `MC_StageRot_Stop` | 写入 | +| FixRot | `FixRot_Angle` | `MC_FixRot_Angle` | 读取 | +| FixRot | `FixRot_Target` | `MC_FixRot_Target` | 写入 | +| FixRot | `FixRot_Speed` | `MC_FixRot_Speed` | 写入 | +| FixRot | `FixRot_JogPos` | `MC_FixRot_JogPos` | 写入 | +| FixRot | `FixRot_JogNeg` | `MC_FixRot_JogNeg` | 写入 | +| FixRot | `FixRot_Home` | `MC_FixRot_Home` | 写入 | +| FixRot | `FixRot_Stop` | `MC_FixRot_Stop` | 写入 | +| 安全门 | `Door_Open` | `MC_Door_Open` | 写入 | +| 安全门 | `Door_Close` | `MC_Door_Close` | 写入 | +| 安全门 | `Door_Stop` | `MC_Door_Stop` | 写入 | +| 安全门 | `Door_Status` | `MC_Door_Status` | 读取 | +| 安全门 | `Door_Interlock` | `MC_Door_Interlock` | 读取 | +| 轴复位 | `Axis_Reset` | `MC_Axis_Reset` | 写入 | +| 轴复位 | `Axis_ResetDone` | `MC_Axis_ResetDone` | 读取 | + +--- diff --git a/XP.Hardware.MotionControl/ViewModels/AxisControlViewModel.cs b/XP.Hardware.MotionControl/ViewModels/AxisControlViewModel.cs index 8e314d7..72df2e7 100644 --- a/XP.Hardware.MotionControl/ViewModels/AxisControlViewModel.cs +++ b/XP.Hardware.MotionControl/ViewModels/AxisControlViewModel.cs @@ -83,7 +83,7 @@ namespace XP.Hardware.MotionControl.ViewModels // 初始化命令 | Initialize commands ToggleEnableCommand = new DelegateCommand(ExecuteToggleEnable, () => IsPlcConnected); ToggleSwapMouseButtonsCommand = new DelegateCommand(ExecuteToggleSwapMouseButtons); - SavePositionsCommand = new DelegateCommand(ExecuteSavePositions); + SavePositionsCommand = new DelegateCommand(ExecuteSavePositions, () => IsPlcConnected); RestorePositionsCommand = new DelegateCommand(ExecuteRestorePositions, () => _savedPositions != null && IsPlcConnected); // 射线源与探测器Z轴联动命令 | Source-Detector Z-axis linkage command SZDZLockCommand = new DelegateCommand(() => SafeRun(ExecuteSZDZLock), () => IsPlcConnected); @@ -125,11 +125,7 @@ namespace XP.Hardware.MotionControl.ViewModels public double DualJoystickOutputX { get => _dualJoystickOutputX; - set - { - if (SetProperty(ref _dualJoystickOutputX, value)) - HandleDualJoystickOutput(); - } + set => SetProperty(ref _dualJoystickOutputX, value); } private double _dualJoystickOutputY; @@ -430,7 +426,7 @@ namespace XP.Hardware.MotionControl.ViewModels if (!_plcService.IsConnected) { // PLC 断开:停止所有活跃的 Jog 操作 | PLC disconnected: stop all active jog operations - foreach (var axisId in _linearJogActive.Keys) + foreach (var axisId in new List(_linearJogActive.Keys)) { if (_linearJogActive[axisId]) { @@ -438,7 +434,7 @@ namespace XP.Hardware.MotionControl.ViewModels _logger.Debug("PLC 断开,直线轴 Jog 已标记停止:{AxisId} | PLC disconnected, linear axis jog marked stopped: {AxisId}", axisId); } } - foreach (var axisId in _rotaryJogActive.Keys) + foreach (var axisId in new List(_rotaryJogActive.Keys)) { if (_rotaryJogActive[axisId]) { @@ -484,12 +480,16 @@ namespace XP.Hardware.MotionControl.ViewModels if (!result.Success) { + // 写入失败,回滚状态 | Write failed, rollback state + IsJoystickEnabled = !IsJoystickEnabled; MessageBox.Show(result.ErrorMessage, XP.Common.Localization.LocalizationHelper.Get("MC_Error"), MessageBoxButton.OK, MessageBoxImage.Warning); } } catch (Exception ex) { + // 异常时回滚状态 | Rollback state on exception + IsJoystickEnabled = !IsJoystickEnabled; MessageBox.Show(ex.Message, XP.Common.Localization.LocalizationHelper.Get("MC_Error"), MessageBoxButton.OK, MessageBoxImage.Error); } @@ -831,7 +831,7 @@ namespace XP.Hardware.MotionControl.ViewModels // 如果射线源与探测器Z轴联动,且操作的是SourceZ或DetectorZ,则同时发送两个轴 if (SZDZLock && (propertyName == nameof(SourceZPosition) || propertyName == nameof(DetectorZPosition))) { - result = SendSourceDetectorZMoveCommand(value); + result = SendSourceDetectorZMoveCommand(value, propertyName); } else { @@ -873,7 +873,7 @@ namespace XP.Hardware.MotionControl.ViewModels // 如果射线源与探测器Z轴联动,且操作的是SourceZ或DetectorZ,则同时步进两个轴 if (SZDZLock && (propertyName == nameof(SourceZPosition) || propertyName == nameof(DetectorZPosition))) { - result = SendSourceDetectorZMoveCommand(newValue); + result = SendSourceDetectorZMoveCommand(newValue, propertyName); } else { @@ -920,7 +920,7 @@ namespace XP.Hardware.MotionControl.ViewModels /// /// 目标位置 | Target position /// 操作结果 | Operation result - private MotionResult SendSourceDetectorZMoveCommand(double targetValue) + private MotionResult SendSourceDetectorZMoveCommand(double targetValue, string sourcePropertyName = null) { // 1. 检查联动是否在配置中启用 | Check if linkage is enabled in config if (!_config.SourceDetectorZLinkage.Enabled) @@ -945,11 +945,27 @@ namespace XP.Hardware.MotionControl.ViewModels return MotionResult.Fail("探测器Z轴正在运动中,无法联动移动 | Detector Z-axis is moving, linkage move rejected"); } - // 3. 计算位移量和目标位置 | Calculate displacement and target positions + // 3. 根据编辑来源计算位移量和目标位置 | Calculate displacement and targets based on edit source var currentSourceZ = sourceZAxis.ActualPosition; var currentDetectorZ = detectorZAxis.ActualPosition; - var sourceDelta = targetValue - currentSourceZ; - var targetDetectorZ = currentDetectorZ + sourceDelta; + + double targetSourceZ; + double targetDetectorZ; + + if (sourcePropertyName == nameof(DetectorZPosition)) + { + // 用户编辑的是探测器Z:以探测器Z为基准计算位移 | User edited DetectorZ: calculate delta from DetectorZ + var delta = targetValue - currentDetectorZ; + targetDetectorZ = targetValue; + targetSourceZ = currentSourceZ + delta; + } + else + { + // 用户编辑的是射线源Z(默认):以射线源Z为基准计算位移 | User edited SourceZ (default): calculate delta from SourceZ + var delta = targetValue - currentSourceZ; + targetSourceZ = targetValue; + targetDetectorZ = currentDetectorZ + delta; + } // 4. 边界检查(使用配置中的 Min/Max)| Boundary check (use Min/Max from config) if (_config.LinearAxes.TryGetValue(AxisId.SourceZ, out var sourceConfig) && @@ -957,10 +973,10 @@ namespace XP.Hardware.MotionControl.ViewModels { var errors = new List(); - if (targetValue < sourceConfig.Min || targetValue > sourceConfig.Max) + if (targetSourceZ < sourceConfig.Min || targetSourceZ > sourceConfig.Max) { - errors.Add($"射线源Z轴目标位置 {targetValue} 超出范围 [{sourceConfig.Min}, {sourceConfig.Max}] | " + - $"Source Z-axis target {targetValue} out of range [{sourceConfig.Min}, {sourceConfig.Max}]"); + errors.Add($"射线源Z轴目标位置 {targetSourceZ} 超出范围 [{sourceConfig.Min}, {sourceConfig.Max}] | " + + $"Source Z-axis target {targetSourceZ} out of range [{sourceConfig.Min}, {sourceConfig.Max}]"); } if (targetDetectorZ < detectorConfig.Min || targetDetectorZ > detectorConfig.Max) @@ -983,7 +999,7 @@ namespace XP.Hardware.MotionControl.ViewModels } // 5. 所有检查通过,同时发送两个轴的移动命令 | All checks passed, send move commands to both axes simultaneously - var sourceResult = sourceZAxis.MoveToTarget(targetValue, _config.DefaultVelocity); + var sourceResult = sourceZAxis.MoveToTarget(targetSourceZ, _config.DefaultVelocity); var detectorResult = detectorZAxis.MoveToTarget(targetDetectorZ, _config.DefaultVelocity); // 6. 返回结果(任一失败都记录日志)| Return result (log if any fails) diff --git a/XP.Hardware.PLC/ReleaseFiles/PlcAddrDfn.xml b/XP.Hardware.PLC/ReleaseFiles/PlcAddrDfn.xml new file mode 100644 index 0000000..dbe80f2 --- /dev/null +++ b/XP.Hardware.PLC/ReleaseFiles/PlcAddrDfn.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/XP.Hardware.RaySource/ReleaseFiles/ManiUpdateParams.txt b/XP.Hardware.RaySource/ReleaseFiles/ManiUpdateParams.txt new file mode 100644 index 0000000..f83c69b --- /dev/null +++ b/XP.Hardware.RaySource/ReleaseFiles/ManiUpdateParams.txt @@ -0,0 +1,90 @@ +[sys1____] +"SerialNumber" +[geo_dm__#Cougar] +"Name9" +"Value9" +"Name10" +"Value10" +"Name19" +"Value19" +"Name21" +"Value21" +"Name24" +"Value24" +"Name29" +"Value29" +"Name30" +"Value30" +"Name48" +"Value48" +[geo_dm__#Cheetah] +"Name9" +"Value9" +"Name10" +"Value10" +"Name12" +"Value12" +"Name13" +"Value13" +"Name22" +"Value22" +"Name24" +"Value24" +"Name27" +"Value27" +"Name48" +"Value48" +[joyspeed] +"Speed0" +"Speed1" +"Speed2" +"Speed3" +"Speed4" +"Speed5" +"Speed6" +"Speed7" +"Speed8" +"Speed9" +[loadpos_] +"SafePos[3]" +[para_1__] +"PosSW_End" +"NegSW_End" +"RefPosition" +[para_2__] +"PosSW_End" +"NegSW_End" +"RefPosition" +[para_3__] +"PosSW_End" +"NegSW_End" +"RefPosition" +[para_4__] +"PosSW_End" +"NegSW_End" +"RefPosition" +"RefPositionEnd" +[para_5__] +"PosSW_End" +"NegSW_End" +"RefPosition" +[para_6__] +"PosSW_End" +"NegSW_End" +"RefPosition" +"DistPerTurn" +[para_7__] +"PosSW_End" +"NegSW_End" +"RefPosition" +[para_8__] +"PosSW_End" +"NegSW_End" +"RefPosition" +[para_9__] +"PosSW_End" +"NegSW_End" +"RefPosition" +[dm_door_] +"DoorOpenSwitchAvail#410" +EOF \ No newline at end of file diff --git a/XP.Hardware.RaySource/ReleaseFiles/XRayUpdateParams.txt b/XP.Hardware.RaySource/ReleaseFiles/XRayUpdateParams.txt new file mode 100644 index 0000000..59db549 --- /dev/null +++ b/XP.Hardware.RaySource/ReleaseFiles/XRayUpdateParams.txt @@ -0,0 +1,93 @@ +[MODEDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[TARGETDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[TUBEDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[HSGDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[SYSDM#all] +"everything" +"beginExceptions" +"Version" +"SoftwareVersionPLC" +"SysConfig" +"SoftwareVersion" +"endExceptions" +!************************************************************* +[AMPDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[VACDM#all] +"everything" +"beginExceptions" +"Version_vacuum_system" +"endExceptions" +!************************************************************* +[CENTDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[FOCUSDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[CONSDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[TREGDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[CONDDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[FILDM#all] +"everything" +"beginExceptions" +"Version" +"endExceptions" +!************************************************************* +[TUBEHEADDM#all] +"everything" +"beginExceptions" +"version" +"endExceptions" +!************************************************************* +[INITDM#all] +"everything" +"beginExceptions" +"version" +"endExceptions" +EOF \ No newline at end of file diff --git a/XP.Hardware.RaySource/ReleaseFiles/Y.Tracing.Configuration.txt b/XP.Hardware.RaySource/ReleaseFiles/Y.Tracing.Configuration.txt new file mode 100644 index 0000000..4ff3b14 --- /dev/null +++ b/XP.Hardware.RaySource/ReleaseFiles/Y.Tracing.Configuration.txt @@ -0,0 +1,6 @@ +// Flag, ob die Trace-Meldungen asynchron zu protokolliern sind: 1 fr asynchron, 0 fr synchron. +1 +// Kategorie Konfigurationen: +FXDriver 0 +FXDriverPviXCreateResponse 0 +FXDriverUpgradeCP1483ToCP1583 0 diff --git a/XP.Hardware.RaySource/ReleaseFiles/fx.ini b/XP.Hardware.RaySource/ReleaseFiles/fx.ini new file mode 100644 index 0000000..e9cbc32 --- /dev/null +++ b/XP.Hardware.RaySource/ReleaseFiles/fx.ini @@ -0,0 +1,3907 @@ +;------------------------------------------------------------------------------ +; Help for Control/Value entries +; +; DataType= (FXDataType) +; 0 FX_INT +; 1 FX_LONG +; 2 FX_UINT +; 3 FX_ULONG +; 4 FX_FLOAT +; 5 FX_DOUBLE +; 6 FX_BOOL +; 7 FX_CENTTABLE +; 8 FX_FOCUSTABLE +; 9 FX_STRING +; 10 FX_SHORT +; 11 FX_USHORT +; 12 FX_SCANTABLE +; 13 FX_BYTE +; 14 FX_UBYTE +; 15 FX_TUBECURRENTTABLE +; 16 FX_AXESPOSTABLE +; +; ValueType= (FXValueType) +; 0 FX_ACTVAL +; 1 FX_NOMVAL +; 2 FX_MINVAL +; 3 FX_MAXVAL +; 4 FX_BOOLVAL +; 5 FX_ERRORVAL +; +; Active= +; 0 Variable will not be updated in process image of FXE DLLs +; and can only accessed with explicit read/write +; 1 Variable will be updated in process image of FXE DLLs +; Notify= +; 0: Application notifying will not be used for this variable +; 1: Application notifying will be used for this variable + +;System- und Options-Ids: +;Variablen, die in allen RPS-Konfigurationen vorkommen, erhalten die SysID 1 (FXE_SINGLESTAGE) +;Variablen, die fr spezielle oder optionale RPS-Konfigurationen hinzukommen, z. B. fr Doppelstufen-Rhren, erhalten die +;unten angegebene SysID. (Variablen, die nur fr Doppelstufenrhren verwendet werden, z. B. die SysID 2) +;Wenn Variablen zwei oder mehreren speziellen RPS-Konfigurationen zugeordnet werden mssen, die sich gegenseitig ausschliessen, +;z. B. Para-Variablen fr FOX und TIGER, mssen bei den Variablen die SysID-Eintrge bitweise geoderte Werte sein. Die Variablen der Para-Module +;haben als ID z. B. 24 (0x10 | 0x20) +;FXE_SINGLESTAGE 0x00000001L // Xray-Bit +;FXE_DOUBLESTAGE 0x00000002L // Xray-Bit +;FXE_SCANNING 0x00000004L // Xray-Bit +;SYSTEM_FOX 0x00000008L // Xray-Bit +;SYSTEM_TIGER 0x00000010L // Xray-Bit +;SHUTTEROPTION 0x00000020L // Xray-Bit +;TARGETREGOPTION 0x00000040L // Xray-Bit +;SECONDCENTERING 0x00000080L // Xray-Bit +;FFCOMDRIVER 0x00000100L // Xray-Bit +;AUTOCOND_ENABLED 0x00004000L // Xray-Bit +;MOT_IRIS 0x00000400L // Xray-Bit und Mani-Bit +;FME 0x00000200L // Mani-Bit +;SYSTEM_14 0x00000800L // Mani-Bit CougarFA oder System16 +;SYSTEM_15 0x00001000L // Mani-Bit CougarSMT +;SYSTEM_COUGAR_XL 0x00002000L // Mani-Bit Cheetah +;JOYCTRLOPTION 0x00100000L // Mani-Bit +;------------------------------------------------------------------------------ + +[VarPLCVarHAL_PLCVars] +PLCVarID_0=2274 +PLCVarString_0=LaserCrossHair +PLCVarID_1=2374 +PLCVarString_1=WarnLamp1Ok +PLCVarID_2=2375 +PLCVarString_2=WarnLamp2Ok +PLCVarID_3=2376 +PLCVarString_3=WarnLamp3Ok +PLCVarID_4=2377 +PLCVarString_4=WarnLampDefect + +[XrayHAL] +ReadFromProcessImage=1 +MaxAccVoltageTolerance=1.0 +MaxTubeCurrentTolerance=3.0 +MaxTargetCurrentTolerance=2.0 +EnableXrayOnAfterFlashover=0 + +[ManiHAL] +; Fr die Eigenschaft "Ready" der Schnittstelle IFFAxis wird hier standardmssig +; AxisEnabled && AxisInitialized && !AxisIsNotToControl +; && AxisDriveReady && !AxisDriveError && !AxisError +; verwendet, es wird also NICHT abgefragt, ob die Achse verriegelt ist (AxisModulePresent) +;Default fr AxisReadyBitMask: BitMaskAxisEnabled | BitMaskAxisInitialized | BitMaskAxisDriveReady +;AxisReadyBitMask= +;Default fr AxisNotReadyBitMask: BitMaskAxisIsNotToControl | BitMaskAxisDriveError | BitMaskAxisError +;AxisNotReadyBitMask= +ReadFromProcessImage=1 +; ErrorIfTryingToDriveLockedAxis: 0: Kein Fehler, 1: Fehlermeldung wenn verriegelte Achse versucht wird zu fahren +ErrorIfTryingToDriveLockedAxis=0 +; LoadPosTolerance war vorher in config.prm einstellbar, es wurde aber wahrscheinlich immer Defaultwert 1 verwendet! +LoadPosTolerance=1 + +[ManiSysIDs] +NumSysIDs=3 +SysID_0=8 +SysID_1=16 +SysID_2=4096 + +; FOX +[Detector_8] +TransZ=5 + +[Tube_8] +TransZ= + +[Stage_8] +TransX=0 +TransY=1 +TransZ=2 +RotX=4 +RotY=3 + +; TIGER +[Detector_16] +; Detektor-Kippachse des TIGER kann eigentlich RotX oder RotY sein! +RotX=3 +RotZ=4 + +[Tube_16] +TransZ=2 + +[Stage_16] +TransX=0 +TransY=1 + +;Cougar(SMT) +[Detector_4096] +TransZ=3 +RotY=4 + +[Tube_4096] +TransZ=2 + +[Stage_4096] +TransX=0 +TransY=1 +RotX=5 +RotZ=5 + +[PLCVersionIniFolderNames_CPU0] +V380=V380-389 + +[PLCVersionIniFolderNames_CPU1] +V430=V420-429 + +[PLCVERSIONVARIABLE_0] +DisplayName=SoftwareVersionCPU0 +Descr=SYS_DM.SoftwareVersion +SysID=769 +DataType=3 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +ReadSyncDef=0 + +[PLCVERSIONVARIABLE_1] +DisplayName=SoftwareVersionCPU1 +Descr=sys_dm.SoftwareVersion +SysID=1 +DataType=3 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +ReadSyncDef=0 + +[General] +PLCInitTimeout=120000 +; Nur FXEControl +FXEControlInitTimeout=30000 +; Nur FXEControl +ShowFXEControlWithoutHWLink=0 +UseAFByImg=0 +LoadDetectorDlls=0 +UseScanVariables=0 +UseDbgVariables=1 +UseFXETestVariables=1 +UseALUVariables=0 +FirstSupportedVersion=380 +LastSupportedVersion=430 +; Nur FXEControl: Bezeichnet %-Wert des erreichten Tube-/Targetcurrent vom vorgegebenen (Timer) +TimerCurrentInterruptionThresh=50 +; Nur FXEControl: Bezeichnet %-Wert der erreichten acc. Voltage vom vorgegebenen Wert (Timer) +TimerVoltageInterruptionThresh=70 +; Nur FXEControl: Bezeichnet Dauer der zustzlichen Delaytime in ms zum Start des Timers nach erreichen der anderen Schwellwerte (Timer) +TimerAdditionalDelay=0 +; automatisches Einschalten der Strahlung nach Ueberschlag (de)aktivieren +UseAutoXRayOnAfterFlash=0 +; Datenmodule verbinden? ACHTUNG: Betrifft NICHT Para- und PCPara-Dms fr TIGER und FOX! Diese +; mssen immer verbunden werden, wenn entspr. System vorliegt, sonst funktionieren nicht +; alle Achsen-Funktionen +ConnectDMs=1 +; Variable zur Ueberwachung der RPS (hier: 2014, kVIst) +; Abschalten der Benachrichtigung bei RPS disconnected wenn RPSCheckVariableID <= 0 +RPSCheckVariableID=2014 +; Intervallzeit zur Ueberwachung der RPS in ms +RPSCheckIntervall=10000 +Demoversion=0 +; Kundenversion: 0, Serviceversion: 1, Betriebsversion: 2, Testversion: 3 (Umschalter ASCII-PVI) +AccessVersion=1 +; Apertures wird fr die Amp[1] bis Amp[3] Istwerte (Blendenstrme) verwendet +Apertures=1 +TestFlashOver=0 +DebugMessages=0 +FilIncrement=0.02 +UseDataTypeVerification=1 +; Timeout nach Kaltstart in ms +ColdStartWaitTime=120000 +; 0: no logging 1/2: log errors 3: log errors + show MessageBoxes +LogLevel=2 +; relativer Pfad zum User Manual +UserManualPath=C:\Program Files (x86)\Feinfocus\FXEControl_3.1.1.65\doc\Y.FXE-Control 3.1_v01r00_de_20102585.pdf + +[PLCCommunication] +ModuleEventMask="EV=" +TaskEventMask="EV=" +; 09.11.2004: Gibt an, ob eine Slave-RPS-CPU vorliegen kann (z.Z. nur fuer Nano-FOX) +SlaveCPU=0 +; 09.11.2004: Anzahl RPS-CPUs, maximale Anzahl CPUs ist 2 +CPUCount=1 +; 05.08.2014: Es knnen jetzt die IP und Base der CPUs direkt konfiguriert werden. +; Zudem ist es mglich zwei Rhren anzusteuern. +; Gibt an, ob die Konfigurationen fr HostAdress und HostBase aus der ini verwendet werden sollen, +; oder die hart codierten aus der BRDriverDefs. +UsePLCHostConfig=1 +; Wenn MultipleXrayDevices aktiv ist, dann muss CPUCount auf 1 stehen. Beim Start der FXEControl +; wird ein Abfragedialog geffnet, welche Rhre angezeigt werden soll +MultipleXrayDevices=1 +; Cpu0 muss immer die Adresse einer Rhre sein. +; Die HostAdress entspricht der letzten Stelle der IP-Adresse der Rhre. +Cpu0HostAdress=10 +; Parameter fr den Codierschalter an der PLC. Sollte in der Regel mit der HostAdress gleich sein, +; kann aber auch unterschiedlich konfiguriert werden +Cpu0HostBase=10 +; Beschreibung fr den Auswahldialog beim Start der FXEControl +Cpu0Description=FXT 225.48 - CPU0 192.168.12.10 +; Cpu1 kann die Adresse einer Rhre oder eines Manipulators sein. Wenn nur UsePLCHostConfig und +; CPUCount=2 ausgewhlt ist, dann muss es ein Manipulator sein. +; Die HostAdress entspricht der letzten Stelle der IP adresse der Rhre. +Cpu1HostAdress=11 +; Parameter fr den Codierschalter an der PLC. Sollte in der Regel mit der HostAdress gleich sein, +; kann aber auch unterschiedlich konfiguriert werden. +Cpu1HostBase=11 +; Beschreibung fr den Auswahldialog, der beim Start der FXEControl zur Auswahl der Rhre angezeigt wird. +Cpu1Description=FXT 190.61 - CPU1 192.168.12.11 + +[FFCom] +;FFCOMDRIVER 256 +;ONLY_FFCOMDRIVER 257 +FFComSysID=0 +;FFComSysID=256 +InBufLength=256 +OutBufLength=256 +IDBufLength=4 +FloatPrecision=4 +WaitTimeout=500 +;WaitTimeout=4000 +; Timeouts nicht mehr direkt parametrisierbar, da abh. von RPS-Zykluszeit! +; Dafr kann jetzt hier die verwendete RPS-Zykluszeit angegeben werden! +PLCCycleTime=100 +SwitchFMEToFFComID=3501 +; Thread-Prioritten: 0: normal, 1: above normal, 2: highest, 15: "real time" +; -1: below normal, -2: lowest, -15: idle +ReadThreadPriority=2 +RequestThreadPriority=1 +AutoUpdThreadPriority=1 +LogComm=0 +LogRead=0 +LogWrite=0 +LogAutoUpd=0 +;RTS_CONTROL_DISABLE 0 +;RTS_CONTROL_ENABLE 1 +;RTS_CONTROL_HANDSHAKE 2 +;RTS_CONTROL_TOGGLE 3 +RTSMode=0 +UseCTSHandshake=0 + +[XRayConstants] +BitMaskBattery=2 +BitMaskWarmupDone=4 +BitMaskFilAdjDone=8 +BitMaskAutocentReady=16 +BitMaskAutocentBeamSearch=32 +BitMaskAutocentBeamFound=64 +BitMaskStartupDone=512 +BitMaskAutofuncRuns=1024 +BitMaskInterlockOn=2048 +BitMaskHSGOk=4096 +BitMaskVacuumOk=8192 +BitMaskAutocentRuns=16384 +BitMaskFilAdjRuns=32768 +BitMaskWarmupRuns=65536 +BitMaskStartupRuns=131072 +BitMaskXRayOn=262144 +BitMaskReadyForXRayOn=524288 +BitMaskXRayError=1048576 + +[ManiConstants] +AxesEnableBackside=1 +; Wenn RPS V.2.0 fuer FOX verwendet wird, PositionTolerance=0 setzen, ansonsten 5-10 +; theoretisch kann PositionTolerance fuer FOX auch bei alter RPS 0 gesetzt werden, das einzige +; Problem ist BASIC-Acknowledge der FGUI, da PVI u.U. die nderungen der Ist-Pos. nicht mitbekommt +PositionTolerance=1 +; Wenn RPS V.2.0 fuer FOX verwendet wird, UseManInPosForFOXBasicAckn=1 setzen, ansonsten 0 +; beim Cougar15 und TIGER mit RPS >= 2.6 gibt es die ManiInPos-Variable wieder nicht mehr, +; daher dort auch Positionsvergleich machen! +UseManInPosForFOXBasicAckn=0 +BitMaskAxisError=1 +BitMaskAxisEnabled=2 +BitMaskAxisInitialized=4 +BitMaskAxisReferenced=8 +BitMaskAxisRefMoving=16 +BitMaskAxisMoving=32 +BitMaskAxisDriveReady=64 +BitMaskAxisDriveError=128 +BitMaskAxisPosHWEnd=256 +BitMaskAxisRefHWEnd=512 +BitMaskAxisNegHWEnd=1024 +BitMaskAxisTriggerInput=2048 +BitMaskAxisModulePresent=4096 +BitMaskAxisInPosition=8192 +BitMaskAxisIsNotToControl=16384 +BitMaskAxisIsVirtual=32768 +; Bitmasken fr Manipulator-Statuswort: +; 12.09.2005: Es ist z.Z. vllig unklar, was wie ab welcher RPS-Version +; definiert ist! Was sind die Unterschiede zwischen TIGER mit RPS-Version 2.6 +; und Cougar15 mit Version 2.6, der eigentlich Version 2.7 haben sollte? +BitMaskManiError=1 +BitMaskManiInitialized=4 +BitMaskManiReferenced=8 +BitMaskManiRefMoving=16 +BitMaskManiMoving=32 +BitMaskManiSingleAxisActive=64 +BitMaskManiAllAxesActive=128 +BitMaskManiNonPLCDriveDisabled=256 +BitMaskManiInLoadPos=512 +BitMaskManiLoadPosMoving=33554432 +BitMaskManiInPosition=8192 +BitMaskManiCPSStop=32768 + +[MESSLOG] +EnableAllConnectionsForTest=0 +MessLogTableFileIdx=52 +MinIntervallTime=100 +MinChangeIntervall=200 + +[CONDITIONING] +; Anz. Messpunkte fr berschlge; Messintervall [min] ergibt sich aus ConditTime / ConditTableSize +ConditTableSize=72 +;Einheit: min. Wenn die Zeit zwischen 2 berschlgen > diesen Wert ist, wird die Kond. von der RPS beendet +ConditIntervall=360 +;Einheit: min. Nach max. dieser Zeit wird die Konditionierung beendet +ConditTimeout=3600 +; Max. Anz. Ueberschlaege, bevor Konditionierung (vom PC durch X-Ray off) abgebrochen wird +MaxConditBreaks=250 +;Wartezeit nach Ueberschlag, nach der das Vakuum registriert wird [s] +WaitAfterBreakTime=5 + +[WOBBELING] +;Default-Werte fuers wobbeln +Step=10.0 +Hub=30.0 + +[POSITIONINGTABLE] +; fuer Cougar15: +Description=g_tManiCtrlStartOld.tAxis +ConnectParams="EV= VT=struct VL=0 AL=4" +SysID=4376 + +;LINK_ALL_START_POSITION( _T( "EV=ed VT=struct {. VT=u8 } {. VT=struct VN=11 } {.. VT=f32 } {.. VT=i32 } {.. VT=u8 }" )), +;LINK_ALL_START_SPEED( _T( "EV=ed VT=struct {. VT=u8 } {. VT=struct VN=11 } {.. VT=f32 } {.. VT=i16 } {.. VT=u8 }" )); + +[MOVEAXESSTRUCT] +; fuer Cougar15: +Description=g_tManiCtrlStartOld +;Das Verhalten von PVI ist hier etwas seltsam: Wird die Typinfo der Achsenstruktur ausgelesen, bekommt man immer die VL=112 +;und ein Alignment von 2, auch wenn im Connect-String 4 angegeben wird und auch die Strukturen mit #pragma pack( push, 4) +;definiert werden (eigentlich kommt dann als Variablenlnge 136 raus). Es funktioniert auch alles fehlerfrei, wenn VL=0 angegeben wird! +ConnectParams="EV= VT=struct VL=0 AL=4" +;ConnectParams="EV= VT=struct VL=112 AL=4" +;gendert 03.02.2004: Fahrbefehl jetzt synchron senden! +WriteSyncDef=1 +SysID=4376 + +[MANUALMOVEAXESSTRUCT] +; fuer Cougar15: +Description=g_tManiCtrlManuellOld +ConnectParams="EV= VT=struct VL=0 AL=4" +;gendert 03.02.2004: Fahrbefehl jetzt synchron senden! +WriteSyncDef=1 +SysID=4368 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// erweiterte Control-Variablen +;//////////////////////////////////////////////////////////////////////////////////////// +;condit wait. Nur explizit lesen (?!) +[CONTROLVALUE_253] +Descr=tCONwait +DataType=3 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=-1 +DisplayName=MaxTimeBetweenBreakdowns[ms] +WriteSyncDef=0 +ReadSyncDef=0 + +;Max. Spg. f. Konditionierung. Nur explizit lesen ! +[CONTROLVALUE_254] +Descr=ConditioningData.condCycle[1].kVmax +DataType=4 +ValueType=3 +SysID=1 +Active=0 +Notify=0 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=ConditVoltageMax[kV] +ReadSyncDef=0 + +;Max. Strom f. Konditionierung. Nur explizit lesen ! +[CONTROLVALUE_255] +Descr=ConditioningData.condCycle[1].current_uA +DataType=4 +ValueType=3 +SysID=1 +Active=0 +Notify=0 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=ConditCurrentMax[A] +ReadSyncDef=0 + +[CONTROLVALUE_256] +Descr=HSG.FILwork +DataType=4 +ValueType=1 +;wird nur noch fr alten Tiger (RPS < 2.6) bentigt ! +SysID=0 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=1200 +DisplayName=FilWorkCurrent[A] + +[CONTROLVALUE_257] +Descr=I_fil +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=1200 +DisplayName=FilWorkArray[A] +DataLen=10 + +; Auswahl fuer zu aktualisierendes amp-DM +[CONTROLVALUE_258] +Descr=amp_modul +DataType=10 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +DisplayName=AmpDMRefreshSel + +; Auswahl fuer zu aktualisierendes cent-DM +[CONTROLVALUE_259] +Descr=PC_stat.u16_CENT_DM_nr +DataType=10 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +DisplayName=CentDMRefreshSel + +[CONTROLVALUE_260] +Descr=Sys.Watchdog_enable +DataType=10 +ValueType=1 +SysID=513 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +DisplayName=WatchdogEnable[short] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_261] +Descr=PLC_stat.bo_Watchdog +DataType=6 +ValueType=1 +SysID=513 +;24.06.2003: Watchdog ausgeschaltet wegen Fehler auf RPS! Hoher Laufzeitverbrauch dadurch, +; dass Signal von RPS immer sofort wieder auf 1 zurckgesetzt wurde, nachdem in FXDrivers +; 0 geschickt wurde! +; 13.07.06: Wieder aktiviert, obwohl auf RPS immer noch nicht verbessert +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DisplayName=WatchdogSignal[bool] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_262] +Descr=SYS_DM.seriennum +SysID=1 +DataType=9 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +DataLen=16 +DisplayName=SerialNumber +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_263] +Descr=SystemSettings.u32_workingminute_system +DataType=3 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=SystemCounter + +[CONTROLVALUE_264] +Descr=SystemSettings.u32_workingminute_tube +DataType=3 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=TubeCounter + +[CONTROLVALUE_265] +Descr=SystemSettings.u32_workingminute_filament +DataType=3 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=FilamentCounter + +[CONTROLVALUE_266] +Descr=Condensor.Pmicro +DataType=4 +ValueType=0 +SysID=2 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=700 +DisplayName=ConsModeMicroThrPow[W] +ReadSyncDef=0 + +[CONTROLVALUE_267] +Descr=Condensor.Pnano +DataType=4 +ValueType=0 +SysID=2 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=700 +DisplayName=ConsModeNanoThrPow[W] +ReadSyncDef=0 + +[CONTROLVALUE_268] +Descr=PLC_cmd.reload_MODE_DM +DataType=6 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=ModeChanged[bool] +WriteSyncDef=1 +ReadSyncDef=0 + +[CONTROLVALUE_269] +Descr=PLC_cmd.reload_TARGET_DM +DataType=6 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=TargetChanged[bool] +WriteSyncDef=1 +ReadSyncDef=0 + +[CONTROLVALUE_270] +DisplayName=SoftwareVersion +Descr=SYS_DM.SoftwareVersion +SysID=769 +DataType=3 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +ReadSyncDef=1 + +[CONTROLVALUE_271] +DisplayName=CoilOff +Descr=Sys.coil_off +SysID=1 +DataType=10 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_272] +DisplayName=FilAdjBaseCurrentNew +Descr=PLC_stat.r32_newFilamentCurrentBase +SysID=1 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.05 +RefreshTime=800 + +[CONTROLVALUE_273] +DisplayName=FilAdjBaseCurrentDiff +Descr=PLC_stat.r32_diffToFilamentCurrentBase +SysID=1 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.05 +RefreshTime=800 + +[CONTROLVALUE_274] +DisplayName=PositioningLaser +Descr=Do_Laser +;nd. 14.09.2004: Fuer TIGER, FOX, 15er und 16er! NICHT generell auf FXE! +SysID=6168 +DataType=6 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1200 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_275] +Descr=zoom +SysID=1 +DataType=10 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=BVZoomLevel +WriteSyncDef=0 +ReadSyncDef=0 + +; 07.07.03: Reload-Variablen jetzt Control-Values, vorher ControlCommands +; Hintergrund: 1-0 bergnge dieser Variablen knnen als Signal dafr +; genommen werden, dass die neuen Werte tatschlich in die RPS-Variablenstrukturen +; eingetragen wurden! +[CONTROLVALUE_280] +Descr=PC_cmd.TUBE_DM.read +SysID=513 +DisplayName=ReloadTubeDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_281] +Descr=PC_cmd.AMP_DM.read +SysID=1 +DisplayName=ReloadAmpDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_282] +Descr=PC_cmd.HSG_DM.read +SysID=513 +DisplayName=ReloadHSGDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_283] +Descr=PC_cmd.VAC_DM.read +SysID=1 +DisplayName=ReloadVacuumDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_284] +Descr=PC_cmd.COND_DM.read +SysID=1 +DisplayName=ReloadConditDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_285] +Descr=PC_cmd.SYS_DM.read +SysID=513 +DisplayName=ReloadSystemDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_286] +Descr=PC_cmd.FOCUS_DM.read +SysID=1 +DisplayName=ReloadFocusDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_287] +Descr=PC_cmd.CONS_DM.read +SysID=2 +DisplayName=ReloadCondensorDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_288] +Descr=cmd_read_shutter +SysID=32 +DisplayName=ReloadShutterDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_289] +Descr=PC_cmd.CENT_DM.read +SysID=1 +DisplayName=ReloadCenteringDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_290] +Descr=cmd_read_scan +SysID=4 +DisplayName=ReloadScanDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_291] +Descr=PC_cmd.TIREG_DM.read +SysID=1 +DisplayName=ReloadTiRegDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_292] +Descr=cmd_read_comconf +DisplayName=ReloadComConfDM +;22.11.2004: zunchst ausgeschaltet, bei nchster Version, wenn alle Systeme COMCONF-DM beinhalten, einbauen +SysID=0 +;SysID=513 +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_293] +Descr=PC_cmd.INIT_DM +SysID=1 +DisplayName=ReloadInitDM +DataType=9 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DataLen=10 + +[CONTROLVALUE_294] +DisplayName=ReloadAllDMs +Descr=PC_cmd.ALL_DM.read +SysID=1 +DataType=14 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_295] +DisplayName=UsageAmp1 +Descr=Amp[1].Verwendung +SysID=1 +DataType=9 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +DataLen=16 + +[CONTROLVALUE_296] +DisplayName=UsageAmp2 +Descr=Amp[2].Verwendung +SysID=34 +DataType=9 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +DataLen=16 + +[CONTROLVALUE_297] +DisplayName=UsageAmp3 +Descr=Amp[3].Verwendung +SysID=34 +DataType=9 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +DataLen=16 + +[CONTROLVALUE_298] +DisplayName=DiTubeheadEnable +Descr=Di_tubehead_enable +SysID=1 +DataType=6 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=0 + +[CONTROLVALUE_299] +Descr=target.current_target_number +DataType=11 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=Target +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_300] +Descr=target.last_target_number +DataType=11 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=TargetCount +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_301] +DisplayName=TubeheadNumber +Descr=Tubehead.current_tubehead_number +SysID=1 +DataType=11 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 + +[CONTROLVALUE_302] +DisplayName=TubeheadCount +Descr=Tubehead.last_tubehead_number +SysID=1 +DataType=11 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_303] +Descr=PLC_cmd.reload_TARGET_DM +DataType=6 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=TubeheadChanged[bool] +WriteSyncDef=1 +ReadSyncDef=0 + +[CONTROLVALUE_304] +Descr=iIrisMoveDir +DataType=0 +ValueType=1 +SysID=1024 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=IrisMoveDir + +[CONTROLVALUE_305] +Descr=iIrisSetPos +DataType=0 +ValueType=1 +SysID=1024 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=IrisSetPos + +[CONTROLVALUE_306] +Descr=iIrisCurPos +DataType=0 +ValueType=0 +SysID=1024 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=IrisCurPos + +[CONTROLVALUE_307] +Descr=iIrisCurPosActual +DataType=10 +ValueType=0 +SysID=1024 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=IrisCurPosActual + +[CONTROLVALUE_308] +Descr=Vacon +DataType=6 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=VacuumOn[bool] + +[CONTROLVALUE_309] +Descr=EnableShutterOnIfManiMoves +DataType=6 +ValueType=1 +SysID=32 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 +DisplayName=EnableShutterOnIfManiMoves[bool] + +[CONTROLVALUE_310] +DisplayName=SoftwareVersionMani +Descr=sys_dm.SoftwareVersion +SysID=4120 +DataType=3 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +ReadSyncDef=1 + +[CONTROLVALUE_311] +DisplayName=DetectorXRange +Descr=DetectorXRangeNotDefinedYet +SysID=0 +DataType=3 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +ReadSyncDef=1 + +[CONTROLVALUE_312] +DisplayName=DetectorYRange +Descr=DetectorXRangeNotDefinedYet +SysID=0 +DataType=3 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +ReadSyncDef=1 + +[CONTROLVALUE_313] +DisplayName=AxisCountReal +Descr=g_tManiParameters.uMaxAxesReal +SysID=4096 +DataType=11 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +ReadSyncDef=0 + +[CONTROLVALUE_314] +DisplayName=FocusDetectorDist0 +Descr=FocusDetectorDist0NotDefinedYet +SysID=0 +DataType=3 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +ReadSyncDef=0 + +[CONTROLVALUE_315] +Descr=PC_cmd.FIL_DM.read +SysID=1 +DisplayName=ReloadFilDM +DataType=6 +ValueType=1 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_316] +DisplayName=TrayOffset +Descr=g_fTrayOffset +TaskName=manimove +DataType=4 +ValueType=1 +SysID=4112 +Active=1 +Notify=1 +RefreshTime=10000 +Hysterese=0.1 + +[CONTROLVALUE_317] +DisplayName=Magnification +Descr=g_fMagnification +TaskName=manimove +DataType=4 +ValueType=0 +SysID=4112 +Active=1 +Notify=1 +RefreshTime=250 +Hysterese=0.1 + +[CONTROLVALUE_318] +DisplayName=DoorVersion +Descr=g_tDoor.dwDoorVersion +DataType=2 +ValueType=1 +SysID=4112 +Active=1 +Notify=0 +RefreshTime=2500 +Hysterese=0 + +[CONTROLVALUE_319] +DisplayName=FNCProgramRunning +Descr=g_bFNC_Drive +DataType=6 +ValueType=1 +SysID=4112 +; 20.05.08: Active, Notify=1 (fr Mani-HAL) +Active=1 +Notify=1 +RefreshTime=2500 +Hysterese=0 + +[CONTROLVALUE_320] +DisplayName=EnableAIM +Descr=g_bPC_AIM_Enable +DataType=6 +ValueType=1 +;27.01.06: Auch fuer TIGER, da Aim dort jetzt auch auf RPS +SysID=4112 +; 20.05.08: Active, Notify=1 (fr Mani-HAL) +Active=1 +Notify=1 +RefreshTime=2500 +Hysterese=0 + +[CONTROLVALUE_321] +DisplayName=TeachNewPOI +Descr=l_bXYJoystickDriveOff +TaskName=joyctrl +DataType=6 +ValueType=0 +SysID=16 +Active=1 +Notify=1 +RefreshTime=150 +Hysterese=0 + +[CONTROLVALUE_322] +DisplayName=CamAxisAttachedToRotAxis +Descr=g_tCameraAxis.dwEnable +TaskName= +DataType=3 +ValueType=1 +SysID=16 +Active=1 +Notify=1 +RefreshTime=250 +Hysterese=0 + +[CONTROLVALUE_333] +Descr=l_ptDpr.bSampleHolder +DataType=6 +ValueType=0 +SysID=4096 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=200 +DisplayName=SampleHolderPresent[bool] +WriteSyncDef=1 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_334] +Descr=l_ptDpr.bTurnTable +DataType=6 +ValueType=0 +SysID=4096 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=200 +DisplayName=TurnTablePresent[bool] +WriteSyncDef=1 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_335] +Descr=g_tAIM_Mask.settings +SysID=4120 +DisplayName=AIMSettings +DataType=3 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_336] +Descr=l_bCollProt_Activ +SysID=4096 +DisplayName=CPS_Active +DataType=6 +ValueType=0 +Active=1 +Notify=1 +RefreshTime=500 +TaskName=manimove +Hysterese=0 + +[CONTROLVALUE_337] +Descr=g_bCollProtExists +SysID=4120 +DisplayName=CPS_Exists +DataType=6 +ValueType=0 +Active=1 +Notify=1 +RefreshTime=-1 +Hysterese=0 + +[CONTROLVALUE_338] +Descr=g_bPC_CollProt_Enable +SysID=4120 +DisplayName=CPS_Enabled +DataType=6 +ValueType=1 +Active=1 +Notify=1 +; 13.05.08: RefreshTime wegen Mani-HAL gendert von -1 auf 1000 +RefreshTime=1000 +Hysterese=0 + +[CONTROLVALUE_339] +Descr=g_bPC_PLCinitialized +SysID=4120 +DisplayName=PLC_Initialized +DataType=6 +ValueType=0 +Active=0 +Notify=0 +RefreshTime=-1 +Hysterese=0 + +[CONTROLVALUE_340] +Descr=l_ptDpr.atAxisValues[0].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis1 +TaskName=pp_mast + +[CONTROLVALUE_341] +Descr=l_ptDpr.atAxisValues[1].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis2 +TaskName=pp_mast + +[CONTROLVALUE_342] +Descr=l_ptDpr.atAxisValues[2].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis3 +TaskName=pp_mast + +[CONTROLVALUE_343] +Descr=l_ptDpr.atAxisValues[3].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis4 +TaskName=pp_mast + +[CONTROLVALUE_344] +Descr=l_ptDpr.atAxisValues[4].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis5 +TaskName=pp_mast + +[CONTROLVALUE_345] +Descr=l_ptDpr.atAxisValues[5].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=pp_mast +SysID=4112 +DisplayName=ConfigAxis6 + +[CONTROLVALUE_346] +Descr=l_ptDpr.atAxisValues[6].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis7 +TaskName=pp_mast + +[CONTROLVALUE_347] +Descr=l_ptDpr.atAxisValues[7].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis8 +TaskName=pp_mast + +[CONTROLVALUE_348] +Descr=l_ptDpr.atAxisValues[8].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis9 +TaskName=pp_mast + +[CONTROLVALUE_349] +Descr=l_ptDpr.atAxisValues[9].tAxisParameter.dwAxisConfig +DataType=3 +ValueType=0 +SysID=4112 +Active=1 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=ConfigAxis10 +TaskName=pp_mast + +[CONTROLVALUE_350] +Descr=g_tRelJoy.dwDirSwitch +DisplayName=JoystickXYInverse +DataType=3 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_351] +Descr=g_tRelJoy.dwEnable +DisplayName=XYJoyDependOnRotEnable +DataType=3 +ValueType=1 +SysID=16 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_352] +Descr=g_bServiceMode +DisplayName=ManiServiceMode +DataType=6 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_356] +DisplayName=ACT_AxisPresent +Descr=l_ptDpr.bACTHolder +SysID=4096 +DataType=6 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +TaskName=pp_mast + +[CONTROLVALUE_358] +Descr=g_abEndlessRotDisabled +DataType=6 +ValueType=1 +SysID=4096 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1500 +;10 Achsen +DataLen=10 +DisplayName=EndlessRotDisabledArray[bool] + +;//////////////////////////////////////////////////////////////////////////////////////// +;// Ampel-Variablen +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_359] +DisplayName=Wlamp1DemandState[0] +Descr=l_tLampCmdInterface[0].cDemandState +DataType=14 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_360] +DisplayName=Wlamp1FlashPeriod[0] +Descr=l_tLampCmdInterface[0].wFlashPeriod +DataType=11 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_361] +DisplayName=Wlamp1Set[0] +Descr=l_tLampCmdInterface[0].bSetLamp +DataType=6 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_362] +DisplayName=Wlamp1DemandState[1] +Descr=l_tLampCmdInterface[1].cDemandState +DataType=14 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_363] +DisplayName=Wlamp1FlashPeriod[1] +Descr=l_tLampCmdInterface[1].wFlashPeriod +DataType=11 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_364] +DisplayName=Wlamp1Set[1] +Descr=l_tLampCmdInterface[1].bSetLamp +DataType=6 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_365] +DisplayName=Wlamp1DemandState[2] +Descr=l_tLampCmdInterface[2].cDemandState +DataType=14 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_366] +DisplayName=Wlamp1FlashPeriod[2] +Descr=l_tLampCmdInterface[2].wFlashPeriod +DataType=11 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_367] +DisplayName=Wlamp1Set[2] +Descr=l_tLampCmdInterface[2].bSetLamp +DataType=6 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_368] +DisplayName=Wlamp1DemandState[3] +Descr=l_tLampCmdInterface[3].cDemandState +DataType=14 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_369] +DisplayName=Wlamp1FlashPeriod[3] +Descr=l_tLampCmdInterface[3].wFlashPeriod +DataType=11 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_370] +DisplayName=Wlamp1Set[3] +Descr=l_tLampCmdInterface[3].bSetLamp +DataType=6 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_371] +DisplayName=Wlamp1DemandState[4] +Descr=l_tLampCmdInterface[4].cDemandState +DataType=14 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_372] +DisplayName=Wlamp1FlashPeriod[4] +Descr=l_tLampCmdInterface[4].wFlashPeriod +DataType=11 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +[CONTROLVALUE_373] +DisplayName=Wlamp1Set[4] +Descr=l_tLampCmdInterface[4].bSetLamp +DataType=6 +ValueType=1 +SysID=4112 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +TaskName=sigtower + +;//////////////////////////////////////////////////////////////////////////////////////// +;// Warnlampen-Variablen +;//////////////////////////////////////////////////////////////////////////////////////// +;// Die Variablen fr die einzelnen Warnlampen sind unbrauchbar, +;// immer auf 0 oder nur sehr kurzfristig 1 wenn Fehler +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_374] +DisplayName=WarnlampDefect +Descr=Lamp_def +DataType=6 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 + +[CONTROLVALUE_375] +DisplayName=ManiInterlock +Descr=l_ptDpr.bInterlock +DataType=6 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_376] +Descr=VAC_DM.version +DataType=11 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 +DisplayName=VacuumVersion +ReadSyncDef=0 + +[CONTROLVALUE_377] +Descr=Vac.mess +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.2 +RefreshTime=1000 +DisplayName=VacuumNom[V] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_378] +Descr=HSG.Gridist +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 +DisplayName=GridVoltage[V] +ReadSyncDef=0 + +; nur explizit Lesen fr Autocond. +[CONTROLVALUE_379] +Descr=TUBE_DM.seriennum +DataType=9 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=SerialNumber +ReadSyncDef=0 +DataLen=16 + +[CONTROLVALUE_380] +Descr=TUBE_DM.name +DataType=9 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=1000 +DisplayName=Name +ReadSyncDef=0 +DataLen=16 + +[CONTROLVALUE_381] +Descr=Focus.f +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 +DisplayName=FocusCurAct +ReadSyncDef=0 + +[CONTROLVALUE_382] +Descr=PC_cmd.i32_XrayTimer_set_time +DataType=3 +ValueType=1 +SysID=769 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 +DisplayName=XrayTimer_set_time +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_383] +Descr=PLC_stat.i32_XrayTimer_left_time +DataType=3 +ValueType=1 +SysID=769 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 +DisplayName=XrayTimer_left_time +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_384] +Descr=PLC_stat.u32_cond_character +DataType=0 +ValueType=1 +SysID=769 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=AutoCondenserStatus +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_385] +Descr=PLC_stat.u32_filamentcorradjust +DataType=0 +ValueType=1 +SysID=769 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=FilamentCorrectionTestStatus +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_386] +Descr=r32_calcFilCorr +DataType=4 +ValueType=1 +SysID=769 +Active=1 +Hysterese=0 +RefreshTime=0 +DisplayName=FilamentCorrectionTestResult +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=filcorradj + +[CONTROLVALUE_387] +Descr=PLC_stat.u32_Leckstromtest +DataType=0 +ValueType=1 +SysID=769 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=LeakageCurrentTestStatus +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_388] +Descr=r32_mAist_Mittel +DataType=4 +ValueType=1 +SysID=769 +Active=1 +Hysterese=0 +RefreshTime=0 +DisplayName=LeakageCurrentTestResultMean +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=Leckstrom + +[CONTROLVALUE_389] +Descr=r32_kV_limit_no_leak +DataType=4 +ValueType=1 +SysID=769 +Active=1 +Hysterese=0 +RefreshTime=0 +DisplayName=LeakageCurrentTestResultLimitNoLeak +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=Leckstrom + +[CONTROLVALUE_390] +Descr=bo_leak_is_linear +DataType=6 +ValueType=1 +SysID=769 +Active=1 +Hysterese=0 +RefreshTime=0 +DisplayName=LeakageCurrentTestResultLeakIsLinear +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=Leckstrom + +;//////////////////////////////////////////////////////////////////////////////////////// +;// NEUE VARIABLEN-PARAMETRISIERUNGEN HIER EINTRAGEN +;//////////////////////////////////////////////////////////////////////////////////////// +; Variable zur Zuordnung der Variablen zu verschiedenen FXE-Typen und Systemen. +; Nicht bentigte bzw. nicht auf der RPS vorhandene Variablen werden nicht ber PVI connected +; Die Identifikation ist in dem String bitcodiert +;//////////////////////////////////////////////////////////////////////////////////////// +[SYSTEMID_0] +DisplayName=SysIDVariable1 +Descr=Sys.SysConfig +SysID=769 +DataType=3 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +ReadSyncDef=0 + +[SYSTEMID_1] +DisplayName=SysIDVariable2 +Descr=sys_dm.SysConfig +SysID=1 +DataType=3 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 +ReadSyncDef=0 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// erweiterte Kommandos +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_96] +Descr=PC_cmd.focusCharacteristic.write_default +SysID=1 +DisplayName=WriteDefFocusTable +WriteSyncDef=0 + +[CONTROLCOMMAND_97] +Descr=PC_cmd.condensorCharacteristic.write_default +SysID=2 +DisplayName=WriteDefCentTable +WriteSyncDef=0 + +[CONTROLCOMMAND_98] +Descr=write_def_shut +SysID=32 +DisplayName=WriteDefShutterTable +WriteSyncDef=0 + +[CONTROLCOMMAND_99] +Descr=PC_cmd.reset_workinghour_system +SysID=1 +DisplayName=DelSystemCounter + +[CONTROLCOMMAND_100] +Descr=PC_cmd.reset_workinghour_tube +SysID=1 +DisplayName=DelTubeCounter + +[CONTROLCOMMAND_101] +Descr=PC_cmd.reset_workinghour_filament +SysID=1 +DisplayName=DelFilamentCounter + +; mode-Datenmodul lesen, analog wie bei Kennlinien +[CONTROLCOMMAND_102] +Descr=PC_cmd.MODE_DM.read +SysID=1 +DisplayName=ReadModeModule +WriteSyncDef=0 + +; target-Datenmodul lesen, analog wie bei Kennlinien +[CONTROLCOMMAND_103] +Descr=PC_cmd.TARGET_DM.read +SysID=1 +DisplayName=ReadTargetModule +WriteSyncDef=0 + +; mode-Datenmodul lesen, analog wie bei Kennlinien +[CONTROLCOMMAND_104] +Descr=PC_cmd.MODE_DM.create_new +SysID=1 +DisplayName=NewModeModule +WriteSyncDef=0 + +; target-Datenmodul lesen, analog wie bei Kennlinien +[CONTROLCOMMAND_105] +Descr=PC_cmd.TARGET_DM.create_new +SysID=1 +DisplayName=NewTargetModule +WriteSyncDef=0 + +[CONTROLCOMMAND_106] +Descr=PC_cmd.new_filament +SysID=1 +DisplayName=NewFilament + +[CONTROLCOMMAND_107] +Descr=PC_cmd.focusCharacteristic.read_default +SysID=1 +DisplayName=LoadDefFocusTable +WriteSyncDef=0 + +[CONTROLCOMMAND_108] +Descr=PC_cmd.condensorCharacteristic.read_default +SysID=2 +DisplayName=LoadDefConsTable +WriteSyncDef=0 + +[CONTROLCOMMAND_109] +Descr=read_def_shut +SysID=32 +DisplayName=LoadDefShutterTable +WriteSyncDef=0 + +[CONTROLCOMMAND_111] +Descr=PC_cmd.TubeCharacteristic.read +SysID=512 +DisplayName=DelTubeCounter + +[CONTROLCOMMAND_112] +Descr=PC_cmd.TubeCharacteristic.write +SysID=512 +DisplayName=DelTubeCounter + +[CONTROLCOMMAND_113] +Descr=PC_cmd.TubeCharacteristic.store_point +SysID=512 +DisplayName=DelTubeCounter + +[CONTROLCOMMAND_114] +Descr=PC_cmd.TubeCharacteristic.delete_point +SysID=512 +DisplayName=DelTubeCounter + +[CONTROLCOMMAND_115] +Descr=PC_cmd.TubeCharacteristic.delete_all_points +SysID=512 +DisplayName=DelTubeCounter + +[CONTROLCOMMAND_116] +Descr=PC_cmd.TubeCharacteristic.read_default +SysID=512 +DisplayName=DelTubeCounter + +[CONTROLCOMMAND_117] +Descr=PC_cmd.TubeCharacteristic.write_default +SysID=512 +DisplayName=DelTubeCounter + +[CONTROLCOMMAND_118] +Descr=PC_cmd.TUBEHEAD_DM.read +SysID=1 +DisplayName=ReadTubheadModule + +[CONTROLCOMMAND_119] +Descr=l_ptDpr.tManiCommands.bStartZentPosAll +SysID=4120 +DisplayName=CenterAllAxes +WriteSyncDef=0 +TaskName=pp_mast + +[CONTROLCOMMAND_120] +Descr=l_ptDpr.tManiCommands.bStartLoadPosAll +SysID=4120 +DisplayName=LoadPosAllAxes +WriteSyncDef=0 +TaskName=pp_mast + +[CONTROLCOMMAND_121] +Descr=cmd_opencom +SysID=0 +DisplayName=OpenFFCom +WriteSyncDef=1 + +[CONTROLCOMMAND_122] +Descr=cmd_closecom +SysID=0 +DisplayName=CloseFFCom +WriteSyncDef=1 + +[CONTROLCOMMAND_124] +DisplayName=PC_cmd.xraytimerON +Descr=PC_cmd.xraytimerON +SysID=1 +WriteSyncDef=0 + +[CONTROLCOMMAND_125] +DisplayName=PC_cmd.xraytimerOFF +Descr=PC_cmd.xraytimerOFF +SysID=1 +WriteSyncDef=0 + +[CONTROLCOMMAND_126] +DisplayName=PC_cmd.xraytimerReset +Descr=PC_cmd.xraytimerReset +SysID=1 +WriteSyncDef=0 + +[CONTROLCOMMAND_127] +Descr=PC_cmd.condensor_character_kV +SysID=257 +DisplayName=DoAutocondenserKV +WriteSyncDef=0 + +[CONTROLCOMMAND_128] +Descr=PC_cmd.condensor_character_singlemod +SysID=257 +DisplayName=DoAutocondenserMod +WriteSyncDef=0 + +[CONTROLCOMMAND_129] +Descr=PC_cmd.condensor_character_multimod +SysID=257 +DisplayName=DoAutocondenserAll +WriteSyncDef=0 + +[CONTROLCOMMAND_130] +Descr=PC_cmd.filamentcorradjust +SysID=257 +DisplayName=DoFilamentCorrectionTest +WriteSyncDef=0 + +[CONTROLCOMMAND_131] +Descr=PC_cmd.leckstromtest +SysID=257 +DisplayName=DoLeakageCurrentTest +WriteSyncDef=0 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// Debug-Variablen +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_10000] +Descr=Filament_Q20 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=250 +DisplayName=FilamentQ20 + +[CONTROLVALUE_10001] +Descr=Filament_Q50 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=250 +DisplayName=FilamentQ50 + +[CONTROLVALUE_10002] +Descr=Filament_Q100 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=250 +DisplayName=FilamentQ100 + +[CONTROLVALUE_10003] +Descr=Filament_Q250 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=250 +DisplayName=FilamentQ250 + +[CONTROLVALUE_10004] +Descr=Filament_Q500 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=250 +DisplayName=FilamentQ500 + +[CONTROLVALUE_10005] +Descr=Filament_Q1000 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=250 +DisplayName=FilamentQ1000 + +[CONTROLVALUE_10006] +Descr=Target_Ws_025 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.25 +RefreshTime=1000 +DisplayName=TargetJ025 + +[CONTROLVALUE_10007] +Descr=Target_Ws_05 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=TargetJ05 + +[CONTROLVALUE_10008] +Descr=Target_Ws_1 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=TargetJ1 + +[CONTROLVALUE_10009] +Descr=Target_Ws_2 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=TargetJ2 + +[CONTROLVALUE_10010] +Descr=Target_Ws_4 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=TargetJ4 + +[CONTROLVALUE_10011] +Descr=Target_Ws_6 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=TargetJ6 + +[CONTROLVALUE_10012] +Descr=Target_Ws_10 +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=TargetJ10 + +[CONTROLVALUE_10013] +Descr=Sys_error +DataType=11 +ValueType=0 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1500 +DataLen=21 +DisplayName=SystemErrorArray + +[CONTROLVALUE_10014] +Descr=HSG_error +DataType=11 +ValueType=0 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1500 +DataLen=21 +DisplayName=HSGErrorArray + +[CONTROLVALUE_10015] +Descr=Tube_error +DataType=11 +ValueType=0 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1500 +DataLen=21 +DisplayName=TubeErrorArray + +[CONTROLVALUE_10016] +Descr=Vac_error +DataType=11 +ValueType=0 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1500 +DataLen=21 +DisplayName=VacuumErrorArray + +[CONTROLVALUE_10017] +Descr=Sys_err_count +DataType=11 +ValueType=0 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=4000 +DisplayName=SysErrorArrayIdx + +[CONTROLVALUE_10018] +Descr=HSG_err_count +DataType=11 +ValueType=0 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=4000 +DisplayName=HSGErrorArrayIdx + +[CONTROLVALUE_10019] +Descr=Tube_err_count +DataType=11 +ValueType=0 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=4000 +DisplayName=TubeErrorArrayIdx + +[CONTROLVALUE_10020] +Descr=Vac_err_count +DataType=11 +ValueType=0 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=4000 +DisplayName=VacuumErrorArrayIdx + +[CONTROLVALUE_10021] +DisplayName=LoadPositionEnable1 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[0].tAxisParameter.dwLoadPos_Enab +SysID=4120 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10022] +DisplayName=LoadPositionEnable2 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[1].tAxisParameter.dwLoadPos_Enab +SysID=4120 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10023] +DisplayName=LoadPositionEnable3 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[2].tAxisParameter.dwLoadPos_Enab +SysID=4120 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10024] +DisplayName=LoadPositionEnable4 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[3].tAxisParameter.dwLoadPos_Enab +SysID=4120 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10025] +DisplayName=LoadPositionEnable5 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[4].tAxisParameter.dwLoadPos_Enab +SysID=4120 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10026] +DisplayName=LoadPositionEnable6 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[5].tAxisParameter.dwLoadPos_Enab +SysID=4120 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSEN 7-10 VORERST NUR FUER COUGAR15! +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_10027] +DisplayName=LoadPositionEnable7 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[6].tAxisParameter.dwLoadPos_Enab +SysID=24 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10028] +DisplayName=LoadPositionEnable8 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[7].tAxisParameter.dwLoadPos_Enab +SysID=24 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10029] +DisplayName=LoadPositionEnable9 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[8].tAxisParameter.dwLoadPos_Enab +SysID=24 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10030] +DisplayName=LoadPositionEnable10 +; fr Cougar15: +Descr=l_ptDpr.atAxisValues[9].tAxisParameter.dwLoadPos_Enab +SysID=24 +DataType=1 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// BELADEPOSITIONEN 1-6 VORERST NUR FUER TIGER! +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_10031] +DisplayName=LoadPosition1 +Descr=l_ptDpr.atAxisValues[0].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10032] +DisplayName=LoadPosition2 +Descr=l_ptDpr.atAxisValues[1].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10033] +DisplayName=LoadPosition3 +Descr=l_ptDpr.atAxisValues[2].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10034] +DisplayName=LoadPosition4 +Descr=l_ptDpr.atAxisValues[3].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10035] +DisplayName=LoadPosition5 +Descr=l_ptDpr.atAxisValues[4].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10036] +DisplayName=LoadPosition6 +Descr=l_ptDpr.atAxisValues[5].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10037] +DisplayName=LoadPosition7 +Descr=l_ptDpr.atAxisValues[6].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10038] +DisplayName=LoadPosition8 +Descr=l_ptDpr.atAxisValues[7].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10039] +DisplayName=LoadPosition9 +Descr=l_ptDpr.atAxisValues[8].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +[CONTROLVALUE_10040] +DisplayName=LoadPosition10 +Descr=l_ptDpr.atAxisValues[9].tAxisParameter.fLoadPos +SysID=4112 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// AxesWatch-Variablen +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_10041] +DisplayName=AxisEncValue[0] +Descr=DC_nEncoder[0] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10042] +DisplayName=AxisEncMastSlaveOffset[0] +Descr=l_anMasterSlaveEncoderOffset[0] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10043] +DisplayName=MasterSlaveDiff[0] +Descr=l_afMasterSlaveDiff[0] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10044] +DisplayName=MasterSlaveDiffMax[0] +Descr=l_afMasterSlaveDiffMax[0] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10045] +DisplayName=MastSlavRefMaxDiff[0] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[0] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10046] +DisplayName=MastSlavNormMaxDiff[0] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[0] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10047] +DisplayName=ScalingFactor[0] +Descr=g_tAxesWatch.afScalingFactor[0] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10048] +DisplayName=AxisEncValue[1] +Descr=DC_nEncoder[1] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10049] +DisplayName=AxisEncMastSlaveOffset[1] +Descr=l_anMasterSlaveEncoderOffset[1] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10050] +DisplayName=MasterSlaveDiff[1] +Descr=l_afMasterSlaveDiff[1] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10051] +DisplayName=MasterSlaveDiffMax[1] +Descr=l_afMasterSlaveDiffMax[1] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10052] +DisplayName=MastSlavRefMaxDiff[1] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[1] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10053] +DisplayName=MastSlavNormMaxDiff[1] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[1] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10054] +DisplayName=ScalingFactor[1] +Descr=g_tAxesWatch.afScalingFactor[1] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10055] +DisplayName=AxisEncValue[2] +Descr=DC_nEncoder[2] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10056] +DisplayName=AxisEncMastSlaveOffset[2] +Descr=l_anMasterSlaveEncoderOffset[2] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10057] +DisplayName=MasterSlaveDiff[2] +Descr=l_afMasterSlaveDiff[2] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10058] +DisplayName=MasterSlaveDiffMax[2] +Descr=l_afMasterSlaveDiffMax[2] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10059] +DisplayName=MastSlavRefMaxDiff[2] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[2] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10060] +DisplayName=MastSlavNormMaxDiff[2] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[2] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10061] +DisplayName=ScalingFactor[2] +Descr=g_tAxesWatch.afScalingFactor[2] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10062] +DisplayName=AxisEncValue[3] +Descr=DC_nEncoder[3] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10063] +DisplayName=AxisEncMastSlaveOffset[3] +Descr=l_anMasterSlaveEncoderOffset[3] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10064] +DisplayName=MasterSlaveDiff[3] +Descr=l_afMasterSlaveDiff[3] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10065] +DisplayName=MasterSlaveDiffMax[3] +Descr=l_afMasterSlaveDiffMax[3] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10066] +DisplayName=MastSlavRefMaxDiff[3] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[3] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10067] +DisplayName=MastSlavNormMaxDiff[3] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[3] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10068] +DisplayName=ScalingFactor[3] +Descr=g_tAxesWatch.afScalingFactor[3] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10069] +DisplayName=AxisEncValue[4] +Descr=DC_nEncoder[4] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10070] +DisplayName=AxisEncMastSlaveOffset[4] +Descr=l_anMasterSlaveEncoderOffset[4] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10071] +DisplayName=MasterSlaveDiff[4] +Descr=l_afMasterSlaveDiff[4] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10072] +DisplayName=MasterSlaveDiffMax[4] +Descr=l_afMasterSlaveDiffMax[4] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10073] +DisplayName=MastSlavRefMaxDiff[4] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[4] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10074] +DisplayName=MastSlavNormMaxDiff[4] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[4] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10075] +DisplayName=ScalingFactor[4] +Descr=g_tAxesWatch.afScalingFactor[4] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10076] +DisplayName=AxisEncValue[5] +Descr=DC_nEncoder[5] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10077] +DisplayName=AxisEncMastSlaveOffset[5] +Descr=l_anMasterSlaveEncoderOffset[5] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10078] +DisplayName=MasterSlaveDiff[5] +Descr=l_afMasterSlaveDiff[5] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10079] +DisplayName=MasterSlaveDiffMax[5] +Descr=l_afMasterSlaveDiffMax[5] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10080] +DisplayName=MastSlavRefMaxDiff[5] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[5] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10081] +DisplayName=MastSlavNormMaxDiff[5] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[5] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10082] +DisplayName=ScalingFactor[5] +Descr=g_tAxesWatch.afScalingFactor[5] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10083] +DisplayName=AxisEncValue[6] +Descr=DC_nEncoder[6] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10084] +DisplayName=AxisEncMastSlaveOffset[6] +Descr=l_anMasterSlaveEncoderOffset[6] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10085] +DisplayName=MasterSlaveDiff[6] +Descr=l_afMasterSlaveDiff[6] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10086] +DisplayName=MasterSlaveDiffMax[6] +Descr=l_afMasterSlaveDiffMax[6] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10087] +DisplayName=MastSlavRefMaxDiff[6] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[6] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10088] +DisplayName=MastSlavNormMaxDiff[6] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[6] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10089] +DisplayName=ScalingFactor[6] +Descr=g_tAxesWatch.afScalingFactor[6] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10090] +DisplayName=AxisEncValue[7] +Descr=DC_nEncoder[7] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10091] +DisplayName=AxisEncMastSlaveOffset[7] +Descr=l_anMasterSlaveEncoderOffset[7] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10092] +DisplayName=MasterSlaveDiff[7] +Descr=l_afMasterSlaveDiff[7] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10093] +DisplayName=MasterSlaveDiffMax[7] +Descr=l_afMasterSlaveDiffMax[7] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10094] +DisplayName=MastSlavRefMaxDiff[7] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[7] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10095] +DisplayName=MastSlavNormMaxDiff[7] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[7] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10096] +DisplayName=ScalingFactor[7] +Descr=g_tAxesWatch.afScalingFactor[7] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10097] +DisplayName=AxisEncValue[8] +Descr=DC_nEncoder[8] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10098] +DisplayName=AxisEncMastSlaveOffset[8] +Descr=l_anMasterSlaveEncoderOffset[8] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10099] +DisplayName=MasterSlaveDiff[8] +Descr=l_afMasterSlaveDiff[8] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10100] +DisplayName=MasterSlaveDiffMax[8] +Descr=l_afMasterSlaveDiffMax[8] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10101] +DisplayName=MastSlavRefMaxDiff[8] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[8] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10102] +DisplayName=MastSlavNormMaxDiff[8] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[8] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10103] +DisplayName=ScalingFactor[8] +Descr=g_tAxesWatch.afScalingFactor[8] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10104] +DisplayName=AxisEncValue[9] +Descr=DC_nEncoder[9] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10105] +DisplayName=AxisEncMastSlaveOffset[9] +Descr=l_anMasterSlaveEncoderOffset[9] +SysID=4120 +DataType=10 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10106] +DisplayName=MasterSlaveDiff[9] +Descr=l_afMasterSlaveDiff[9] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10107] +DisplayName=MasterSlaveDiffMax[9] +Descr=l_afMasterSlaveDiffMax[9] +SysID=4120 +DataType=4 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +TaskName=axeswtch + +[CONTROLVALUE_10108] +DisplayName=MastSlavRefMaxDiff[9] +Descr=g_tAxesWatch.afMastSlavRefMaxDiff[9] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10109] +DisplayName=MastSlavNormMaxDiff[9] +Descr=g_tAxesWatch.afMastSlavNormMaxDiff[9] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +[CONTROLVALUE_10110] +DisplayName=ScalingFactor[9] +Descr=g_tAxesWatch.afScalingFactor[9] +SysID=4120 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=-1 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// Debug-Commands +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_10000] +Descr=del_Filament_Q +SysID=1 +DisplayName=DelFilamentQ + +[CONTROLCOMMAND_10001] +Descr=del_Target_Ws +SysID=1 +DisplayName=DelTargetJ + +[CONTROLCOMMAND_10002] +Descr=Sys_errorquit +SysID=1 +DisplayName=ResetSysErrArray + +[CONTROLCOMMAND_10003] +Descr=HSG_errorquit +SysID=1 +DisplayName=ResetHSGErrArray + +[CONTROLCOMMAND_10004] +Descr=Tube_errorquit +SysID=1 +DisplayName=ResetTubeErrArray + +[CONTROLCOMMAND_10005] +Descr=Vac_errorquit +SysID=1 +DisplayName=ResetVacErrArray + +;//////////////////////////////////////////////////////////////////////////////////////// +;// erweiterte Test-Variablen +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_15000] +DisplayName=TMTApertureCurrentArray +Descr=BlendeAbtast +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=1200 +DataLen=300 + +[CONTROLVALUE_15001] +DisplayName=TMTTargetCurrentArray +Descr=TargetAbtast +DataType=4 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=1200 +DataLen=300 + +[CONTROLVALUE_15002] +DisplayName=TMTIntegrationCount +Descr=burn_Anzahl +SysID=1 +DataType=10 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_15003] +DisplayName=TMTFocusVariation +Descr=burn_Ifocus +SysID=1 +DataType=4 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=250 + +[CONTROLVALUE_15004] +DisplayName=TMTFocusIntervall +Descr=burn_Ifocus_step +SysID=1 +DataType=4 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=250 + +[CONTROLVALUE_15005] +DisplayName=TMTUsedFocusPoints +Descr=abtast_ende +SysID=1 +DataType=10 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_15006] +DisplayName=TMTActFocusPoint +Descr=abtast_index +SysID=1 +DataType=10 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_15007] +DisplayName=TMTAccVoltage +Descr=burn_kV +SysID=1 +DataType=4 +ValueType=1 +Active=0 +Notify=0 +Hysterese=1.0 +RefreshTime=250 + +[CONTROLVALUE_15008] +DisplayName=TMTTubeCurrent +Descr=burn_mA +SysID=1 +DataType=4 +ValueType=1 +Active=0 +Notify=0 +Hysterese=1.0 +RefreshTime=250 + +[CONTROLVALUE_15009] +DisplayName=TMTResFocusOptMax +Descr=Focus_opt_max +SysID=1 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=250 + +[CONTROLVALUE_15010] +DisplayName=TMTResFocusOptMin +Descr=Focus_opt_min +SysID=1 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=250 + +[CONTROLVALUE_15011] +DisplayName=TMTResTargetAvgMax +Descr=TargetAverage_max +SysID=1 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=250 + +[CONTROLVALUE_15012] +DisplayName=TMTResTargetAvgMin +Descr=TargetAverage_min +SysID=1 +DataType=4 +ValueType=0 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=250 + +[CONTROLVALUE_15013] +DisplayName=TMTResult +Descr=TargetEinbrand +SysID=1 +DataType=6 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_15014] +DisplayName=BeamScanPointsPerLine +Descr=beamscan_anzahl +;//Variable wurde nach local verschoben +SysID=0 +DataType=11 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_15015] +DisplayName=BeamScanLineReady +Descr=beamscan_ready +;//Variable wurde nach local verschoben +SysID=0 +DataType=6 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 + +[CONTROLVALUE_15016] +DisplayName=BeamScanCurrentIntervall +Descr=beamscan_step +;//Variable wurde nach local verschoben +SysID=0 +DataType=11 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_15017] +DisplayName=BeamScanLineArray +Descr=beamscan_target +DataType=4 +ValueType=1 +;//Variable wurde nach local verschoben +SysID=0 +Active=0 +Notify=0 +Hysterese=0.1 +RefreshTime=1000 +DataLen=501 + +[CONTROLVALUE_15018] +DisplayName=BeamScanXIndex +Descr=beamscan_x +;//Variable wurde nach local verschoben +SysID=0 +DataType=11 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_15019] +DisplayName=BeamScanYIndex +Descr=beamscan_y +;//Variable wurde nach local verschoben +SysID=0 +DataType=11 +ValueType=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=250 + +[CONTROLVALUE_15020] +Descr=Tube.wobstep +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=WobbelStep + +[CONTROLVALUE_15021] +Descr=I_tube_korr +DataType=4 +ValueType=1 +SysID=0 +Active=0 +Notify=0 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=TubeCorrCurArray[A] +DataLen=11 + +[CONTROLVALUE_15022] +Descr=Tube.hub +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=WobbelAmplitude + +;//////////////////////////////////////////////////////////////////////////////////////// +;// Commandos fuer erweiterte Testfunktionen +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_15000] +Descr=PC_cmd.burn +DisplayName=StartTargetMaterialTest +SysID=1 + +[CONTROLCOMMAND_15001] +Descr=PC_cmd.beamscan +DisplayName=StartBeamScan +SysID=1 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// Stati fuer erweiterte Testfunktionen +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLSTATUS_15000] +DisplayName=TMTRunning +Descr=PLC_stat.bo_burn_is_running +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 + +[CONTROLSTATUS_15001] +DisplayName=BeamScanRunning +Descr=PLC_stat.bo_beamscan_is_running +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 + +[CPUTYPES] +I386="CP340 CP360 CP380 CP570 CP1483 CP1484 CP1583" +68000="IF260 CP260 CP430 CP476" + +;//////////////////////////////////////////////////////////////////////////////////////// +;// DATENMODULE +;//////////////////////////////////////////////////////////////////////////////////////// +; 26.06.2003: ModuleNameIdxMethod +; 0: alter Mechanismus (ModuleCount aus ini-Datei, 1-dim. Index) +; 1: [init-DM-Eintrag] (statisch, 1 Modul pro Init, z. B. hsg, tube) +; 2: [init-DM-Eintrag / Init-Anz.] (statisch, mehrere Module pro Init, z. B. amp, cent) +; 3: [Anz. init-DMs bzw. tubeheads (sollte gleich sein)] (statisch) +; 4: [Tubeheads] (1-dim., dyn.) +; 5: [Targets] (2-dim., dyn.) +; 6: [Modes] (3-dim., dyn.) +; Wenn ModuleNameIdxMethod=1 (z.B. cent, amp) dann wird der ModuleCount aus dem Eintrag im letzten init-dm ermittelt, +; es mssen dann diese Anz. Module angezeigt werden. +; Wenn ModuleNameIdxMethod=0 wird ModuleCount=0/1 gesetzt, es wird nur ein Modul angezeigt (und es gibt dann auch nur EINE +; Strukturvariable!) +; bei dyn. Modulen (mode, target) ergibt sich die anzuzeigende Anz. Module aus dem Wert der entspr. Variablen +; (z.B. cons_max, target_max) +;//////////////////////////////////////////////////////////////////////////////////////// +; INIT-Datenmodule: +; Diese liefern die Informationen darber, wieviele der anderen DMs insgesamt auf der RPS +; vorhanden und welche gerade aktiv sind. Momentan soll es fr jeden Rhrenkopf ein init-Datenmodul +; geben. ber einen dig. Eingang wird der jeweilige Rhrenkopf von der RPS erkannt --> Zu- +; weisung der Rhrenkopf-Nummer. Entspr. dieser Nummber wird ein init-DM angesprochen, in +; welchem hinterlegt ist, welche DMs aktiviert werden sollen. +; Definition/Konvention: IM LETZTEN init-DM steht die ANZAHL der fr jeden Typ auf der RPS +; vorhandenen DMs! +; init-DMs mssen nicht ber eine PC-Applikation angezeigt/konfiguriert werden! +;//////////////////////////////////////////////////////////////////////////////////////// +[INITDM] +DisplayName=InitDM +SysID=1 + +[TUBEHEADDM] +DisplayName=TubeheadDM +SysID=1 + +[TARGETDM] +DisplayName=TargetDM +SysID=1 + +[TargetDM_Names] +Descr=target.Name[%d] +DataType=9 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=2000 +DataLen=41 + +[MODEDM] +DisplayName=ModeDM +SysID=1 + +[ModeDM_Names] +Descr=Mode.Name[%d] +DataType=9 +ValueType=1 +SysID=1 +Active=0 +Notify=0 +Hysterese=0 +RefreshTime=2000 +DataLen=16 + +[FILDM] +DisplayName=FilDM +SysID=1 + +[TUBEDM] +DisplayName=TubeDM +SysID=513 + +[AMPDM] +DisplayName=AmpDM +SysID=1 + +[HSGDM] +DisplayName=HSGDM +SysID=513 + +[VACDM] +DisplayName=VacDM +SysID=1 + +[CONDDM] +DisplayName=CondDM +SysID=1 + +[SYSDM] +DisplayName=SysDM +SysID=513 + +[FOCUSDM] +DisplayName=FocusDM +SysID=1 + +[CONSDM] +DisplayName=ConsDM +SysID=2 + +[SHUTDM] +DisplayName=ShutDM +SysID=32 + +[CENTDM] +DisplayName=CentDM +SysID=1 + +[TREGDM] +DisplayName=TRegDM +SysID=64 + +[SYSMANIDM] +DisplayName=SysManiDM +SysID=4120 + +[PARA_DM] +DisplayName=ParaDM +SysID=4120 + +[GEODM] +DisplayName=GeoDM +SysID=4120 + +[REFDM] +DisplayName=RefDM +SysID=4120 + +[DOORDM] +DisplayName=DoorDM +SysID=4120 + +[MOTIRISDM] +DisplayName=MotIrisDM +SysID=1024 + +[JSPEEDDM] +DisplayName=JSpeedDM +SysID=4120 + +[AXESWATCHDM] +DisplayName=AxesWatchDM +SysID=4120 + +[LOADPOSDM] +DisplayName=LoadPosDM +SysID=4120 + +[MANIPARADM] +DisplayName=ManiParaDM +SysID=4120 + +[TURNTABLEDM] +DisplayName=TurntableDM +SysID=4120 + +[CAMAXISDM] +DisplayName=CamAxisDM +SysID=4120 + +[ACTAXISDM] +DisplayName=ACTAxisDM +SysID=4120 + +[AIMMASKDM] +DisplayName=AimMaskDM +SysID=4120 + +[RELJOYDM] +DisplayName=RelJoyDM +SysID=4120 diff --git a/XP.Hardware.RaySource/ReleaseFiles/fx_user.ini b/XP.Hardware.RaySource/ReleaseFiles/fx_user.ini new file mode 100644 index 0000000..7b8197f --- /dev/null +++ b/XP.Hardware.RaySource/ReleaseFiles/fx_user.ini @@ -0,0 +1,4359 @@ +[FOCUSTABLE0] +Description=FocusCharacteristic.i_t_table +SysID=1 + +[FOCUSTABLE1] +Description=CondensorCharacteristic.i_t_table +SysID=2 + +[FOCUSTABLE2] +Description=k_shut +SysID=32 + +[CENTERINGTABLE0] +Description=CenteringCharacteristic[0].x_y_t_table +SysID=1 + +[CENTERINGTABLE1] +Description=CenteringCharacteristic[1].x_y_t_table +SysID=128 + +[TUBECURRENTTABLE] +Description=TubecurrentCharacteristic.i_t_table +ElementCount=250 +SysID=512 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// VALUES +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_0] +Descr=PC_cmd.r32_TubeVoltage_kV +DataType=4 +ValueType=1 +SysID=769 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=AccVoltageNom[kV] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_1] +Descr=PC_cmd.r32_TubeCurrent_uA +DataType=4 +ValueType=1 +SysID=769 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1200 +DisplayName=TubeCurrentNom[A] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_2] +Descr=ISOwatt +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=500 +DisplayName=IsowattPower[W] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_3] +Descr=Sys.errornum +DataType=11 +ValueType=5 +SysID=513 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SystemErrorNumber +ReadSyncDef=0 + +[CONTROLVALUE_4] +Descr=Tube.kVmax +DataType=4 +ValueType=3 +SysID=769 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=AccVoltageMax[kV] +ReadSyncDef=0 + +[CONTROLVALUE_5] +Descr=PLC_stat.r32_TubeVoltage_kV_min +DataType=4 +;ConnectID for FFCom +ConID=2005 +ValueType=2 +SysID=769 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=AccVoltageMin[kV] +ReadSyncDef=0 + +[CONTROLVALUE_6] +Descr=Tube.mAmax +DataType=4 +ValueType=3 +SysID=769 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=TubeCurrentMax[A] +ReadSyncDef=0 + +[CONTROLVALUE_7] +Descr=HSG.FILmax +DataType=4 +ValueType=3 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=FilCurrentMax[A] +ReadSyncDef=0 + +[CONTROLVALUE_8] +Descr=HSG.errornum +DataType=11 +ValueType=5 +SysID=513 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=HSGErrorNumber +ReadSyncDef=0 + +[CONTROLVALUE_9] +Descr=TUBE_DM.kVmax +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=2000 +DisplayName=TubeDM_AccVoltMax[kV] +ReadSyncDef=0 + +[CONTROLVALUE_10] +Descr=TUBE_DM.mAmax +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=2000 +DisplayName=TubeDM_TubeCurMax[A] +ReadSyncDef=0 + +[CONTROLVALUE_11] +Descr=Mode.Target_Pmax +DataType=4 +ValueType=3 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=IsowattPowerMax[W] +ReadSyncDef=0 + +[CONTROLVALUE_12] +Descr=Tube.errornum +DataType=11 +ValueType=5 +SysID=513 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=TubeErrorNumber +ReadSyncDef=0 + +[CONTROLVALUE_13] +Descr=PLC_stat.r32_TubeVoltage_kV_max +DataType=4 +ValueType=3 +SysID=769 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1000 +DisplayName=Warmup_AccVoltMax[kV] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_14] +Descr=PLC_stat.r32_TubeVoltage_kV_ist +DataType=4 +ValueType=0 +SysID=769 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=AccVoltageAct[kV] +ReadSyncDef=0 + +[CONTROLVALUE_15] +Descr=PLC_stat.r32_TubeCurrent_uA_ist +DataType=4 +ValueType=0 +SysID=769 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=TubeCurrentAct[A] +ReadSyncDef=0 + +[CONTROLVALUE_16] +Descr=Targetleistung +DataType=4 +ValueType=0 +SysID=257 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=800 +DisplayName=TargetPowerAct[W] +ReadSyncDef=0 + +[CONTROLVALUE_17] +Descr=FILsoll +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=1200 +DisplayName=FilCurrentNom[A] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_18] +Descr=HSG.FIList +DataType=4 +ValueType=0 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.4 +RefreshTime=1000 +DisplayName=FilCurrentAct[V] +ReadSyncDef=0 + +[CONTROLVALUE_19] +Descr=PC_cmd.r32_focussoll +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1200 +DisplayName=FocusCurrentNom[mA] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_20] +Descr=Focus.fmax +DataType=4 +ValueType=3 +SysID=1 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=FocusCurrentMax[mA] +ReadSyncDef=0 + +[CONTROLVALUE_21] +Descr=Condensor.csoll +DataType=4 +ValueType=1 +SysID=2 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1200 +DisplayName=CondensCurrentNom[mA] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_22] +Descr=Condensor.cmax +DataType=4 +ValueType=3 +SysID=2 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=CondensCurrentMax[mA] +ReadSyncDef=0 + +[CONTROLVALUE_23] +Descr=Shutter.isoll +DataType=4 +ValueType=1 +SysID=32 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1200 +DisplayName=ShutterCurrentNom[mA] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_24] +Descr=Shutter.imax +DataType=4 +ValueType=3 +SysID=32 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=ShutterCurrentMax[mA] +ReadSyncDef=0 + +[CONTROLVALUE_25] +Descr=Shutter_on +DataType=6 +ValueType=1 +SysID=288 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ShutterOn[bool] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_26] +Descr=Cent[0].xsoll +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1200 +DisplayName=CentCurrentX1Nom[mA] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_27] +Descr=Cent[0].ysoll +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1200 +DisplayName=CentCurrentY1Nom[mA] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_28] +Descr=Cent[0].xmax +DataType=4 +ValueType=3 +SysID=1 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=CentCurrentX1Max[mA] +ReadSyncDef=0 + +[CONTROLVALUE_29] +Descr=Cent[0].ymax +DataType=4 +ValueType=3 +SysID=1 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=CentCurrentY1Max[mA] +ReadSyncDef=0 + +[CONTROLVALUE_30] +Descr=Cent[1].xsoll +DataType=4 +ValueType=1 +SysID=128 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1200 +DisplayName=CentCurrentX2Nom[mA] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_31] +Descr=Cent[1].ysoll +DataType=4 +ValueType=1 +SysID=128 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=1200 +DisplayName=CentCurrentY2Nom[mA] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_32] +Descr=Cent[1].xmax +DataType=4 +ValueType=3 +SysID=128 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=CentCurrentX2Max[mA] +ReadSyncDef=0 + +[CONTROLVALUE_33] +Descr=Cent[1].ymax +DataType=4 +ValueType=3 +SysID=128 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=CentCurrentY2Max[mA] +ReadSyncDef=0 + +[CONTROLVALUE_34] +Descr=Amp[1].ist +DataType=4 +ValueType=0 +SysID=257 +Active=1 +Notify=1 +Hysterese=0.3 +RefreshTime=500 +DisplayName=TargetCurrentAct[A] +ReadSyncDef=0 + +[CONTROLVALUE_35] +Descr=Amp[1].imax +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=TargetCurrentMax[A] +ReadSyncDef=0 + +[CONTROLVALUE_36] +Descr=Ptarget_max +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=700 +DisplayName=TargetPowerMax[W] +ReadSyncDef=0 + +[CONTROLVALUE_37] +Descr=Amp[2].ist +DataType=4 +ValueType=0 +SysID=34 +Active=1 +Notify=1 +Hysterese=0.3 +RefreshTime=500 +DisplayName=CondensApertureCurAct[A] +ReadSyncDef=0 + +[CONTROLVALUE_38] +Descr=Amp[2].imax +DataType=4 +ValueType=1 +SysID=34 +Active=0 +Notify=0 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=CondensApertureCurMax[A] +ReadSyncDef=0 + +[CONTROLVALUE_39] +Descr=Amp[3].ist +DataType=4 +ValueType=0 +;06.12.2002: Amp3-Variablen only for scanning! +SysID=34 +Active=1 +Notify=1 +Hysterese=0.3 +RefreshTime=500 +DisplayName=ObjApertureCurAct[A] +ReadSyncDef=0 + +[CONTROLVALUE_40] +Descr=Amp[3].imax +DataType=4 +ValueType=1 +;06.12.2002: Amp3-Variablen only for scanning! +SysID=34 +Active=0 +Notify=0 +Hysterese=1.0 +RefreshTime=1000 +DisplayName=ObjApertureCurMax[A] +ReadSyncDef=0 + +[CONTROLVALUE_41] +Descr=Ui_Vac +DataType=10 +ValueType=0 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.2 +RefreshTime=500 +DisplayName=VacuumAct[V] +ReadSyncDef=0 + +[CONTROLVALUE_42] +Descr=Vac.soll +DataType=4 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0.2 +RefreshTime=500 +DisplayName=VacuumNom[V] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_43] +Descr=Vac.errornum +DataType=11 +ValueType=5 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1000 +DisplayName=VacuumErrorNumber +ReadSyncDef=0 + +[CONTROLVALUE_44] +Descr=Ti_max +DataType=10 +ValueType=3 +SysID=64 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=TarCurMaxReg[A_as_short] +ReadSyncDef=0 + +[CONTROLVALUE_45] +Descr=Tireg.i_min +DataType=10 +ValueType=2 +SysID=64 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=TarCurMinReg[A_as_short] +ReadSyncDef=0 + +[CONTROLVALUE_46] +Descr=PLC_stat.bo_TXI +; Nano-Fox sometimes DataType = 6 or 10 +DataType=6 +ValueType=0 +SysID=320 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=TargetCurRegEnabled[int] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_47] +Descr=Mode.current_mode_number +DataType=11 +ValueType=1 +SysID=257 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=Mode +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_48] +Descr=Mode.last_mode_number +DataType=11 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=ModeCount +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_49] +Descr=Condensor.P_target_automatic +DataType=6 +ValueType=1 +SysID=258 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=SwitchAutoModeOn[int] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_50] +DisplayName=ActModeName +Descr=Mode.current_mode_name +SysID=1 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DataLen=16 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_51] +DisplayName=ActTargetName +Descr=target.current_target_name +SysID=1 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=-1 +DataLen=41 + +[CONTROLVALUE_52] +DisplayName=ActTubeheadName +Descr=Tubehead.current_tubehead_name +SysID=1 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=-1 +DataLen=16 + +[CONTROLVALUE_53] +Descr=PLC_cmd.reload_focusCharacteristic +DataType=6 +ValueType=1 +SysID=1 +; Do NOT set Active to 0 here ! +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=FocusTableChanged[bool] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_54] +Descr=PLC_cmd.reload_condensorCharacteristic +DataType=6 +ValueType=1 +SysID=2 +; Do NOT set Active to 0 here ! +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=CondensTableChanged[bool] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_55] +Descr=PLC_cmd.reload_centeringCharacteristic +DataType=6 +ValueType=1 +SysID=1 +; Do NOT set Active to 0 here ! +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=CentTableChanged[bool] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_56] +;wird ab FXEControl 3.0 nicht mehr verwendet +Descr=HSG.FIL_auto_adjust +DataType=6 +ValueType=1 +SysID=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=EnableAutomaticFilAdj[bool] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_57] +;wird ab FXEControl 3.0 nicht mehr verwendet +Descr=Tube.cent_auto_adjust +DataType=6 +ValueType=1 +SysID=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=EnableAutomaticACkV[bool] +WriteSyncDef=0 +ReadSyncDef=0 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSEN-VARIABLEN +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE1 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_58] +Descr=l_ptDpr.atAxisValues[0].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis1 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_59] +Descr=l_ptDpr.atAxisValues[0].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis1 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_60] +Descr=l_ptDpr.atAxisValues[0].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis1 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_61] +Descr=l_ptDpr.atAxisValues[0].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis1 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_62] +Descr=l_ptDpr.atAxisValues[0].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis1 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_63] +Descr=g_tManiCtrlStartOld.tAxis[0].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis1 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_64] +DisplayName=MinPositionAxis1 +Descr=l_ptDpr.atAxisValueLimits[0].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_65] +DisplayName=MaxPositionAxis1 +Descr=l_ptDpr.atAxisValueLimits[0].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_66] +Descr=g_tManiCtrlStartOld.tAxis[0].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis1 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_67] +DisplayName=MinSpeedAxis1 +Descr=l_ptDpr.atAxisValueLimits[0].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_68] +DisplayName=MaxSpeedAxis1 +Descr=l_ptDpr.atAxisValueLimits[0].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_69] +Descr=g_tManiCtrlStart.tAxis[0].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis1 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_70] +DisplayName=MaxAccelerationAxis1 +Descr=l_ptDpr.atAxisValueLimits[0].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_71] +Descr=g_tManiCtrlManuellOld.tAxis[0].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis1 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_72] +DisplayName=StepsPerTurnAxis1 +Descr=l_ptDpr.atAxisValues[0].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_73] +DisplayName=DistPerTurnAxis1 +Descr=l_ptDpr.atAxisValues[0].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_74] +Descr=l_ptDpr.atAxisValues[0].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis1 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_75] +Descr=g_tManiParameters.tAxisDescription[0].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis1 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_76] +Descr=l_ptDpr.atAxisValues[0].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis1 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE2 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_77] +Descr=l_ptDpr.atAxisValues[1].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis2 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_78] +Descr=l_ptDpr.atAxisValues[1].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis2 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_79] +Descr=l_ptDpr.atAxisValues[1].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis2 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_80] +Descr=l_ptDpr.atAxisValues[1].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis2 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_81] +Descr=l_ptDpr.atAxisValues[1].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis2 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_82] +Descr=g_tManiCtrlStartOld.tAxis[1].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis2 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_83] +DisplayName=MinPositionAxis2 +Descr=l_ptDpr.atAxisValueLimits[1].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_84] +DisplayName=MaxPositionAxis2 +Descr=l_ptDpr.atAxisValueLimits[1].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_85] +Descr=g_tManiCtrlStartOld.tAxis[1].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis2 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_86] +DisplayName=MinSpeedAxis2 +Descr=l_ptDpr.atAxisValueLimits[1].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_87] +DisplayName=MaxSpeedAxis2 +Descr=l_ptDpr.atAxisValueLimits[1].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_88] +Descr=g_tManiCtrlStart.tAxis[1].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis2 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_89] +DisplayName=MaxAccelerationAxis2 +Descr=l_ptDpr.atAxisValueLimits[1].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_90] +Descr=g_tManiCtrlManuellOld.tAxis[1].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis2 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_91] +DisplayName=StepsPerTurnAxis2 +Descr=l_ptDpr.atAxisValues[1].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_92] +DisplayName=DistPerTurnAxis2 +Descr=l_ptDpr.atAxisValues[1].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_93] +Descr=l_ptDpr.atAxisValues[1].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis2 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_94] +Descr=g_tManiParameters.tAxisDescription[1].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis2 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_95] +Descr=l_ptDpr.atAxisValues[1].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis2 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE3 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_96] +Descr=l_ptDpr.atAxisValues[2].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis3 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_97] +Descr=l_ptDpr.atAxisValues[2].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis3 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_98] +Descr=l_ptDpr.atAxisValues[2].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis3 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_99] +Descr=l_ptDpr.atAxisValues[2].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis3 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_100] +Descr=l_ptDpr.atAxisValues[2].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis3 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_101] +Descr=g_tManiCtrlStartOld.tAxis[2].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis3 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_102] +DisplayName=MinPositionAxis3 +Descr=l_ptDpr.atAxisValueLimits[2].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_103] +DisplayName=MaxPositionAxis3 +Descr=l_ptDpr.atAxisValueLimits[2].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_104] +Descr=g_tManiCtrlStartOld.tAxis[2].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis3 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_105] +DisplayName=MinSpeedAxis3 +Descr=l_ptDpr.atAxisValueLimits[2].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_106] +DisplayName=MaxSpeedAxis3 +Descr=l_ptDpr.atAxisValueLimits[2].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_107] +Descr=g_tManiCtrlStart.tAxis[2].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis3 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_108] +DisplayName=MaxAccelerationAxis3 +Descr=l_ptDpr.atAxisValueLimits[2].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_109] +Descr=g_tManiCtrlManuellOld.tAxis[2].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis3 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_110] +DisplayName=StepsPerTurnAxis3 +Descr=l_ptDpr.atAxisValues[2].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_111] +DisplayName=DistPerTurnAxis3 +Descr=l_ptDpr.atAxisValues[2].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_112] +Descr=l_ptDpr.atAxisValues[2].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis3 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_113] +Descr=g_tManiParameters.tAxisDescription[2].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis3 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_114] +Descr=l_ptDpr.atAxisValues[2].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis3 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE4 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_115] +Descr=l_ptDpr.atAxisValues[3].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis4 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_116] +Descr=l_ptDpr.atAxisValues[3].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis4 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_117] +Descr=l_ptDpr.atAxisValues[3].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis4 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_118] +Descr=l_ptDpr.atAxisValues[3].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis4 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_119] +Descr=l_ptDpr.atAxisValues[3].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis4 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_120] +Descr=g_tManiCtrlStartOld.tAxis[3].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis4 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_121] +DisplayName=MinPositionAxis4 +Descr=l_ptDpr.atAxisValueLimits[3].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_122] +DisplayName=MaxPositionAxis4 +Descr=l_ptDpr.atAxisValueLimits[3].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_123] +Descr=g_tManiCtrlStartOld.tAxis[3].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis4 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_124] +DisplayName=MinSpeedAxis4 +Descr=l_ptDpr.atAxisValueLimits[3].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_125] +DisplayName=MaxSpeedAxis4 +Descr=l_ptDpr.atAxisValueLimits[3].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_126] +Descr=g_tManiCtrlStart.tAxis[3].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis4 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_127] +DisplayName=MaxAccelerationAxis4 +Descr=l_ptDpr.atAxisValueLimits[3].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_128] +Descr=g_tManiCtrlManuellOld.tAxis[3].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis4 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_129] +DisplayName=StepsPerTurnAxis4 +Descr=l_ptDpr.atAxisValues[3].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_130] +DisplayName=DistPerTurnAxis4 +Descr=l_ptDpr.atAxisValues[3].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_131] +Descr=l_ptDpr.atAxisValues[3].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis4 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_132] +Descr=g_tManiParameters.tAxisDescription[3].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis4 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_133] +Descr=l_ptDpr.atAxisValues[3].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis4 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE5 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_134] +Descr=l_ptDpr.atAxisValues[4].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis5 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_135] +Descr=l_ptDpr.atAxisValues[4].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis5 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_136] +Descr=l_ptDpr.atAxisValues[4].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis5 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_137] +Descr=l_ptDpr.atAxisValues[4].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis5 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_138] +Descr=l_ptDpr.atAxisValues[4].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis5 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_139] +Descr=g_tManiCtrlStartOld.tAxis[4].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis5 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_140] +DisplayName=MinPositionAxis5 +Descr=l_ptDpr.atAxisValueLimits[4].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_141] +DisplayName=MaxPositionAxis5 +Descr=l_ptDpr.atAxisValueLimits[4].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_142] +Descr=g_tManiCtrlStartOld.tAxis[4].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis5 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_143] +DisplayName=MinSpeedAxis5 +Descr=l_ptDpr.atAxisValueLimits[4].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_144] +DisplayName=MaxSpeedAxis5 +Descr=l_ptDpr.atAxisValueLimits[4].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_145] +Descr=g_tManiCtrlStart.tAxis[4].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis5 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_146] +DisplayName=MaxAccelerationAxis5 +Descr=l_ptDpr.atAxisValueLimits[4].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_147] +Descr=g_tManiCtrlManuellOld.tAxis[4].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis5 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_148] +DisplayName=StepsPerTurnAxis5 +Descr=l_ptDpr.atAxisValues[4].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_149] +DisplayName=DistPerTurnAxis5 +Descr=l_ptDpr.atAxisValues[4].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_150] +Descr=l_ptDpr.atAxisValues[4].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis5 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_151] +Descr=g_tManiParameters.tAxisDescription[4].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis5 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_152] +Descr=l_ptDpr.atAxisValues[4].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis5 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE6 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_153] +Descr=l_ptDpr.atAxisValues[5].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis6 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_154] +Descr=l_ptDpr.atAxisValues[5].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis6 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_155] +Descr=l_ptDpr.atAxisValues[5].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis6 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_156] +Descr=l_ptDpr.atAxisValues[5].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis6 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_157] +Descr=l_ptDpr.atAxisValues[5].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis6 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_158] +Descr=g_tManiCtrlStartOld.tAxis[5].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis6 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_159] +DisplayName=MinPositionAxis6 +Descr=l_ptDpr.atAxisValueLimits[5].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_160] +DisplayName=MaxPositionAxis6 +Descr=l_ptDpr.atAxisValueLimits[5].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_161] +Descr=g_tManiCtrlStartOld.tAxis[5].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis6 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_162] +DisplayName=MinSpeedAxis6 +Descr=l_ptDpr.atAxisValueLimits[5].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_163] +DisplayName=MaxSpeedAxis6 +Descr=l_ptDpr.atAxisValueLimits[5].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_164] +Descr=g_tManiCtrlStart.tAxis[5].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis6 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_165] +DisplayName=MaxAccelerationAxis6 +Descr=l_ptDpr.atAxisValueLimits[5].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_166] +Descr=g_tManiCtrlManuellOld.tAxis[5].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis6 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_167] +DisplayName=StepsPerTurnAxis6 +Descr=l_ptDpr.atAxisValues[5].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_168] +DisplayName=DistPerTurnAxis6 +Descr=l_ptDpr.atAxisValues[5].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_169] +Descr=l_ptDpr.atAxisValues[5].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis6 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_170] +Descr=g_tManiParameters.tAxisDescription[5].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis6 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_171] +Descr=l_ptDpr.atAxisValues[5].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis6 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE7 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_172] +Descr=l_ptDpr.atAxisValues[6].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis7 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_173] +Descr=l_ptDpr.atAxisValues[6].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis7 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_174] +Descr=l_ptDpr.atAxisValues[6].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis7 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_175] +Descr=l_ptDpr.atAxisValues[6].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis7 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_176] +Descr=l_ptDpr.atAxisValues[6].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis7 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_177] +Descr=g_tManiCtrlStartOld.tAxis[6].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis7 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_178] +DisplayName=MinPositionAxis7 +Descr=l_ptDpr.atAxisValueLimits[6].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_179] +DisplayName=MaxPositionAxis7 +Descr=l_ptDpr.atAxisValueLimits[6].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_180] +Descr=g_tManiCtrlStartOld.tAxis[6].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis7 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_181] +DisplayName=MinSpeedAxis7 +Descr=l_ptDpr.atAxisValueLimits[6].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_182] +DisplayName=MaxSpeedAxis7 +Descr=l_ptDpr.atAxisValueLimits[6].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_183] +Descr=g_tManiCtrlStart.tAxis[6].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis7 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_184] +DisplayName=MaxAccelerationAxis7 +Descr=l_ptDpr.atAxisValueLimits[6].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_185] +Descr=g_tManiCtrlManuellOld.tAxis[6].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis7 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_186] +DisplayName=StepsPerTurnAxis7 +Descr=l_ptDpr.atAxisValues[6].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_187] +DisplayName=DistPerTurnAxis7 +Descr=l_ptDpr.atAxisValues[6].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_188] +Descr=l_ptDpr.atAxisValues[6].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis7 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_189] +Descr=g_tManiParameters.tAxisDescription[6].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis7 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_190] +Descr=l_ptDpr.atAxisValues[6].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis7 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE8 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_191] +Descr=l_ptDpr.atAxisValues[7].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis8 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_192] +Descr=l_ptDpr.atAxisValues[7].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis8 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_193] +Descr=l_ptDpr.atAxisValues[7].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis8 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_194] +Descr=l_ptDpr.atAxisValues[7].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis8 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_195] +Descr=l_ptDpr.atAxisValues[7].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis8 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_196] +Descr=g_tManiCtrlStartOld.tAxis[7].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis8 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_197] +DisplayName=MinPositionAxis8 +Descr=l_ptDpr.atAxisValueLimits[7].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_198] +DisplayName=MaxPositionAxis8 +Descr=l_ptDpr.atAxisValueLimits[7].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_199] +Descr=g_tManiCtrlStartOld.tAxis[7].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis8 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_200] +DisplayName=MinSpeedAxis8 +Descr=l_ptDpr.atAxisValueLimits[7].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_201] +DisplayName=MaxSpeedAxis8 +Descr=l_ptDpr.atAxisValueLimits[7].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_202] +Descr=g_tManiCtrlStart.tAxis[7].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis8 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_203] +DisplayName=MaxAccelerationAxis8 +Descr=l_ptDpr.atAxisValueLimits[7].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_204] +Descr=g_tManiCtrlManuellOld.tAxis[7].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis8 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_205] +DisplayName=StepsPerTurnAxis8 +Descr=l_ptDpr.atAxisValues[7].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_206] +DisplayName=DistPerTurnAxis8 +Descr=l_ptDpr.atAxisValues[7].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_207] +Descr=l_ptDpr.atAxisValues[7].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis8 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_208] +Descr=g_tManiParameters.tAxisDescription[7].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis8 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_209] +Descr=l_ptDpr.atAxisValues[7].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis8 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE9 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_210] +Descr=l_ptDpr.atAxisValues[8].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis9 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_211] +Descr=l_ptDpr.atAxisValues[8].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis9 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_212] +Descr=l_ptDpr.atAxisValues[8].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis9 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_213] +Descr=l_ptDpr.atAxisValues[8].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis9 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_214] +Descr=l_ptDpr.atAxisValues[8].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis9 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_215] +Descr=g_tManiCtrlStartOld.tAxis[8].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis9 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_216] +DisplayName=MinPositionAxis9 +Descr=l_ptDpr.atAxisValueLimits[8].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_217] +DisplayName=MaxPositionAxis9 +Descr=l_ptDpr.atAxisValueLimits[8].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_218] +Descr=g_tManiCtrlStartOld.tAxis[8].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis9 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_219] +DisplayName=MinSpeedAxis9 +Descr=l_ptDpr.atAxisValueLimits[8].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_220] +DisplayName=MaxSpeedAxis9 +Descr=l_ptDpr.atAxisValueLimits[8].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_221] +Descr=g_tManiCtrlStart.tAxis[8].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis9 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_222] +DisplayName=MaxAccelerationAxis9 +Descr=l_ptDpr.atAxisValueLimits[8].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_223] +Descr=g_tManiCtrlManuellOld.tAxis[8].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis9 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_224] +DisplayName=StepsPerTurnAxis9 +Descr=l_ptDpr.atAxisValues[8].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_225] +DisplayName=DistPerTurnAxis9 +Descr=l_ptDpr.atAxisValues[8].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_226] +Descr=l_ptDpr.atAxisValues[8].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis9 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_227] +Descr=g_tManiParameters.tAxisDescription[8].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis9 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_228] +Descr=l_ptDpr.atAxisValues[8].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis9 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE10 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLVALUE_229] +Descr=l_ptDpr.atAxisValues[9].dwAchsStatus +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=StatuswordAxis10 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_230] +Descr=l_ptDpr.atAxisValues[9].fIstPos +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=ActualPositionAxis10 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_231] +Descr=l_ptDpr.atAxisValues[9].fIstGeschw +DataType=4 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=250 +DisplayName=ActualSpeedAxis10 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_232] +Descr=l_ptDpr.atAxisValues[9].dwErrNummer +DataType=3 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorNumberAxis10 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_233] +Descr=l_ptDpr.atAxisValues[9].uErrAnzahl +DataType=11 +ValueType=0 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +DisplayName=ErrorCountAxis10 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_234] +Descr=g_tManiCtrlStartOld.tAxis[9].SollPos +DataType=1 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=DemandPositionAxis10 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_235] +DisplayName=MinPositionAxis10 +Descr=l_ptDpr.atAxisValueLimits[9].fNewNegSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_236] +DisplayName=MaxPositionAxis10 +Descr=l_ptDpr.atAxisValueLimits[9].fNewPosSW_End +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_237] +Descr=g_tManiCtrlStartOld.tAxis[9].SollGeschw +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandSpeedAxis10 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_238] +DisplayName=MinSpeedAxis10 +Descr=l_ptDpr.atAxisValueLimits[9].fMin_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_239] +DisplayName=MaxSpeedAxis10 +Descr=l_ptDpr.atAxisValueLimits[9].fMax_Geschw +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_240] +Descr=g_tManiCtrlStart.tAxis[9].fSollBeschl +DataType=4 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=1.0 +RefreshTime=500 +DisplayName=DemandAccelerationAxis10 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_241] +DisplayName=MaxAccelerationAxis10 +Descr=l_ptDpr.atAxisValueLimits[9].fMax_Beschl +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.5 +RefreshTime=2000 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_242] +Descr=g_tManiCtrlManuellOld.tAxis[9].Override +DataType=10 +ValueType=1 +;only TIGER (and Cougar15?) +SysID=4112 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=500 +DisplayName=SpeedFactorAxis10 +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_243] +DisplayName=StepsPerTurnAxis10 +Descr=l_ptDpr.atAxisValues[9].tAxisParameter.fMotSchritte +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_244] +DisplayName=DistPerTurnAxis10 +Descr=l_ptDpr.atAxisValues[9].tAxisParameter.fEinheiten +SysID=4120 +DataType=4 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0.1 +RefreshTime=2000 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_245] +Descr=l_ptDpr.atAxisValues[9].tAxisParameter.szAchsname +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=NameAxis10 +TaskName=pp_mast +ReadSyncDef=0 + +[CONTROLVALUE_246] +Descr=g_tManiParameters.tAxisDescription[9].szAxesScale +SysID=4120 +DataType=9 +ValueType=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=2000 +DataLen=16 +DisplayName=UnitAxis10 +;Nano-Fox: +TaskName= +ReadSyncDef=0 + +[CONTROLVALUE_247] +Descr=l_ptDpr.atAxisValues[9].bJoystickEnable +DataType=6 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=JoystickEnableAxis10 +WriteSyncDef=0 +ReadSyncDef=0 +TaskName=pp_mast + +[CONTROLVALUE_248] +DisplayName=AxisCountAll +Descr=g_tManiParameters.uMaxAxes +SysID=4120 +DataType=11 +ValueType=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=1250 +ReadSyncDef=0 + +[CONTROLVALUE_249] +Descr=PLC_stat.bo_flash_detected +DataType=6 +ValueType=1 +SysID=1 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=250 +DisplayName=Breakdown[bool] +ReadSyncDef=0 + +[CONTROLVALUE_250] +Descr=sys_status +DataType=3 +ValueType=1 +SysID=769 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=XRayStatus[BitArray] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_251] +Descr=g_dwManipulatorStatus +DataType=3 +ValueType=1 +SysID=4120 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=20 +DisplayName=ManipulatorStatus[BitArray] +WriteSyncDef=0 +ReadSyncDef=0 + +[CONTROLVALUE_252] +Descr=filter_nr +DataType=10 +ValueType=1 +;SysID=4376 +; currently not implemented on Mani-RPS (relevant for Aim und collision area) +SysID=0 +Active=1 +Notify=1 +Hysterese=0 +RefreshTime=100 +DisplayName=TubeFilterNumber +WriteSyncDef=0 +ReadSyncDef=0 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// STATI +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLSTATUS_0] +Descr=PLC_stat.bo_Xray_on +SysID=513 +Active=1 +Notify=1 +RefreshTime=150 +DisplayName=IsXRayOn + +[CONTROLSTATUS_1] +Descr=PLC_stat.bo_startup_is_running +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsStartingUp + +[CONTROLSTATUS_2] +Descr=PLC_stat.bo_warmup_is_running +SysID=513 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsWarmingUp + +[CONTROLSTATUS_3] +Descr=warmup +SysID=513 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsWarmupDone + +[CONTROLSTATUS_4] +Descr=PLC_stat.bo_filamentadjust_is_running +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsFilamentAdjusting + +[CONTROLSTATUS_5] +Descr=PLC_stat.bo_autocenter_kV_is_running +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsAutocenteringKV + +[CONTROLSTATUS_6] +Descr=PLC_stat.bo_autocenter_all_is_running +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsAutocenteringAll + +[CONTROLSTATUS_7] +Descr=PLC_stat.bo_conditioning_is_running +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsConditioning + +[CONTROLSTATUS_8] +Descr=PLC_stat.bo_wobbeln_is_active +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsSweepModeOn + +[CONTROLSTATUS_9] +Descr=PLC_stat.bo_interlock +SysID=769 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsInterlockOn + +[CONTROLSTATUS_10] +Descr=Tube.defoc +SysID=257 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsMicrofocusModeOff + +[CONTROLSTATUS_11] +Descr=PLC_stat.bo_Isowatt +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsIsowattOn + +[CONTROLSTATUS_12] +Descr=HSG.ok +SysID=513 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsHSGOk + +[CONTROLSTATUS_13] +Descr=kVok +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsAccVoltageOk + +[CONTROLSTATUS_14] +Descr=mAok +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsTubeCurrentOk + +[CONTROLSTATUS_15] +Descr=Vac.ok +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsVacuumOk + +[CONTROLSTATUS_16] +Descr=Target_reg +SysID=320 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsTargetRegulationOn + +[CONTROLSTATUS_17] +;wird ab FXEControl 3.0 nicht mehr verwendet +Descr=want_FIL_adjust +SysID=0 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=AutomaticFilAdj + +[CONTROLSTATUS_18] +;wird ab FXEControl 3.0 nicht mehr verwendet +Descr=want_cent_adjust +SysID=0 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=AutomaticACkV + +[CONTROLSTATUS_19] +Descr=PLC_stat.bo_offsetadjust_is_running +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=AmpOffsetAdjust + +[CONTROLSTATUS_20] +Descr=TP_HSGwarmup.Q +SysID=768 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=GeneratorWarmup +TaskName=system + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSEN-ZUSTNDE +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLSTATUS_21] +Descr=Door_open +SysID=4120 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsDoorOpen + +[CONTROLSTATUS_22] +Descr=Door_closed +SysID=4120 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=IsDoorClosed + +[CONTROLSTATUS_23] +; 09.08.05: ab RPS V. 2.6 gibt es keine Variable namens "Beladepos" mehr. Im Moment weiss keiner ob sie nur umbenannt wurde +; oder ob es sie gar nicht mehr gibt (auer vielleicht Armin, der ist im Urlaub) +; sie ist aber NOTWENDIG fr FNCBasic-Fahrbefehle, wenn eine Beladefahrt definiert ist, +; da sonst kein Acknowledge kommt wenn von FNC aus Fahrbefehl abgeschickt wird und Beladefahrt gerade +; ausgefhrt wird! +; Notlsung: Es wird die gleiche Variable wie fr den Befehl genommen, die soll laut Benjamin so lange auf true stehen +; wie die Beladefahrt luft. Das FNC sollte aber nochmal daraufhin getestet werden! +; Man knnte auch das Manipulator-Statuswort verwenden, dort muss diese Information auch hinterlegt werden; Problem ist +; nur, da unschne Abfragen notwendig sind, da die PC-Software abwrtskompatibel sein soll (if RPS-Version>=2.6) +; 13.09.05: Ab Version 2.7 soll wieder eine Zustandsvariable eingebaut sein! +Descr=Beladepos +SysID=0 +Active=1 +Notify=1 +RefreshTime=50 +DisplayName=DrivingToLoadPos +TaskName=pp_mast + +[CONTROLSTATUS_24] +Descr=PLC_stat.bo_xraytimer_on +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=cmd_Xraytimer_on + +[CONTROLSTATUS_25] +Descr=PLC_stat.bo_xraytimer_Reset +SysID=1 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=cmd_Xraytimer_reset + +[CONTROLSTATUS_26] +Descr=PLC_stat.bo_cond_Character_kV_is_running +SysID=257 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=AutoCondenserKv + +[CONTROLSTATUS_27] +Descr=PLC_stat.bo_cond_Character_SM_is_running +SysID=257 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=AutoCondenserMod + +[CONTROLSTATUS_28] +Descr=PLC_stat.bo_cond_Character_MM_is_running +SysID=257 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=AutoCondenserAll + +[CONTROLSTATUS_29] +Descr=PLC_stat.bo_filamentcorradjust_is_running +SysID=257 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=FilamentCorrectionTest + +[CONTROLSTATUS_30] +Descr=PLC_stat.bo_leckstrom_is_running +SysID=257 +Active=1 +Notify=1 +RefreshTime=250 +DisplayName=LeakageCurrentTest + +;//////////////////////////////////////////////////////////////////////////////////////// +;// COMMANDS +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_0] +Descr=PC_cmd.xrayON +SysID=769 +DisplayName=SwitchXRayOn +WriteSyncDef=0 + +[CONTROLCOMMAND_1] +Descr=PC_cmd.xrayOFF +SysID=769 +DisplayName=SwitchXRayOff +WriteSyncDef=0 + +[CONTROLCOMMAND_2] +Descr=PC_cmd.startUP +SysID=257 +DisplayName=StartUp +WriteSyncDef=0 + +[CONTROLCOMMAND_3] +Descr=PC_cmd.warmUP +SysID=769 +DisplayName=WarmUp +WriteSyncDef=0 + +[CONTROLCOMMAND_4] +Descr=PC_cmd.isoON +SysID=1 +DisplayName=SwitchIsowattOn +WriteSyncDef=0 + +[CONTROLCOMMAND_5] +Descr=PC_cmd.isoOFF +SysID=1 +DisplayName=SwitchIsowattOff +WriteSyncDef=0 + +[CONTROLCOMMAND_6] +Descr=PC_cmd.filamentadjust +SysID=257 +DisplayName=DoFilamentAdj +WriteSyncDef=0 + +[CONTROLCOMMAND_7] +Descr=PC_cmd.autocentkV +SysID=257 +DisplayName=DoAutocenterKV +WriteSyncDef=0 + +[CONTROLCOMMAND_8] +Descr=PC_cmd.autocentALL +SysID=257 +DisplayName=DoAutocenterAll +WriteSyncDef=0 + +[CONTROLCOMMAND_9] +Descr=PC_cmd.conditioning +SysID=1 +DisplayName=DoConditioning +WriteSyncDef=0 + +[CONTROLCOMMAND_10] +Descr=PC_cmd.wobbelON +SysID=1 +DisplayName=SwitchSweepModeOn +WriteSyncDef=0 + +[CONTROLCOMMAND_11] +Descr=PC_cmd.wobbelOFF +SysID=1 +DisplayName=SwitchSweepModeOff +WriteSyncDef=0 + +[CONTROLCOMMAND_12] +Descr=PC_cmd.focusCharacteristic.read +SysID=1 +DisplayName=ReadFocusTable +WriteSyncDef=0 + +[CONTROLCOMMAND_13] +Descr=PC_cmd.focusCharacteristic.write +SysID=1 +DisplayName=WriteFocusTable +WriteSyncDef=0 + +[CONTROLCOMMAND_14] +Descr=PC_cmd.focusCharacteristic.store_point +SysID=1 +DisplayName=StoreFocusTablePoint +WriteSyncDef=0 + +[CONTROLCOMMAND_15] +Descr=PC_cmd.focusCharacteristic.delete_point +SysID=1 +DisplayName=DelFocusTablePoint +WriteSyncDef=0 + +[CONTROLCOMMAND_16] +Descr=PC_cmd.focusCharacteristic.delete_all_points +SysID=1 +DisplayName=DelAllFocusTablePoints +WriteSyncDef=0 + +[CONTROLCOMMAND_17] +Descr=PC_cmd.condensorCharacteristic.read +SysID=2 +DisplayName=ReadCondensorTable +WriteSyncDef=0 + +[CONTROLCOMMAND_18] +Descr=PC_cmd.condensorCharacteristic.write +SysID=2 +DisplayName=WriteCondensorTable +WriteSyncDef=0 + +[CONTROLCOMMAND_19] +Descr=PC_cmd.condensorCharacteristic.store_point +SysID=2 +DisplayName=StoreCondensorTablePoint +WriteSyncDef=0 + +[CONTROLCOMMAND_20] +Descr=PC_cmd.condensorCharacteristic.delete_point +SysID=2 +DisplayName=DeleteCondensTablePoint +WriteSyncDef=0 + +[CONTROLCOMMAND_21] +Descr=PC_cmd.condensorCharacteristic.delete_all_points +SysID=2 +DisplayName=DelAllCondensTablePoints +WriteSyncDef=0 + +[CONTROLCOMMAND_22] +Descr=readshut +SysID=32 +DisplayName=ReadShutterTable +WriteSyncDef=0 + +[CONTROLCOMMAND_23] +Descr=writeshut +SysID=32 +DisplayName=WriteShutterTable +WriteSyncDef=0 + +[CONTROLCOMMAND_24] +Descr=storeshut +SysID=32 +DisplayName=StoreShutterTablePoint +WriteSyncDef=0 + +[CONTROLCOMMAND_25] +Descr=delshut_kV +SysID=32 +DisplayName=DelShutterTablePoint +WriteSyncDef=0 + +[CONTROLCOMMAND_26] +Descr=delshut_all +SysID=32 +DisplayName=DelAllShutterTablePoints +WriteSyncDef=0 + +[CONTROLCOMMAND_27] +Descr=PC_cmd.centeringCharacteristic[0].write +SysID=1 +DisplayName=WriteCenteringTable1 +WriteSyncDef=0 + +[CONTROLCOMMAND_28] +Descr=PC_cmd.centeringCharacteristic[0].read +SysID=1 +DisplayName=ReadCenteringTable1 +WriteSyncDef=0 + +[CONTROLCOMMAND_29] +Descr=PC_cmd.centeringCharacteristic[0].store_point +SysID=1 +DisplayName=StoreCenteringTable1Point +WriteSyncDef=0 + +[CONTROLCOMMAND_30] +Descr=PC_cmd.centeringCharacteristic[0].delete_point +SysID=1 +DisplayName=DelCenteringTable1Point +WriteSyncDef=0 + +[CONTROLCOMMAND_31] +Descr=PC_cmd.centeringCharacteristic[0].delete_all_points +SysID=1 +DisplayName=DelAllCentTable1Points +WriteSyncDef=0 + +[CONTROLCOMMAND_32] +Descr=PC_cmd.centeringCharacteristic[1].write +SysID=128 +DisplayName=WriteCenteringTable2 +WriteSyncDef=0 + +[CONTROLCOMMAND_33] +Descr=PC_cmd.centeringCharacteristic[1].read +SysID=128 +DisplayName=ReadCenteringTable2 +WriteSyncDef=0 + +[CONTROLCOMMAND_34] +Descr=PC_cmd.centeringCharacteristic[1].store_point +SysID=128 +DisplayName=StoreCentTable2Point +WriteSyncDef=0 + +[CONTROLCOMMAND_35] +Descr=PC_cmd.centeringCharacteristic[1].delete_point +SysID=128 +DisplayName=DelCentTable2Point +WriteSyncDef=0 + +[CONTROLCOMMAND_36] +Descr=PC_cmd.centeringCharacteristic[1].delete_all_points +SysID=128 +DisplayName=DelAllCentTable2Points +WriteSyncDef=0 + +[CONTROLCOMMAND_37] +Descr=PC_cmd.Ti_reg_on +SysID=320 +DisplayName=SwitchTargetCurRegOn +WriteSyncDef=0 + +[CONTROLCOMMAND_38] +Descr=PC_cmd.Ti_reg_off +SysID=320 +DisplayName=SwitchTargetCurRegOff +WriteSyncDef=0 + +[CONTROLCOMMAND_39] +Descr=PC_cmd.offsetadjust +SysID=64 +DisplayName=AdjustAmpOffset +WriteSyncDef=0 + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSEN-,MANIPULATOR-COMMANDS +;//////////////////////////////////////////////////////////////////////////////////////// +;// ALLGEMEIN +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_40] +Descr=PC_doortast +SysID=4120 +DisplayName=ExecuteDoorSwitch +WriteSyncDef=0 + +[CONTROLCOMMAND_41] +Descr=l_ptDpr.tManiCommands.bInitAxisAll +SysID=4120 +DisplayName=InitAllAxis +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_42] +Descr=l_ptDpr.tManiCommands.bDeInitAxisAll +SysID=4120 +DisplayName=ExitAllAxis +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_43] +Descr=l_ptDpr.tManiCommands.bStartReferenceAll +SysID=4120 +DisplayName=ReferenceAllAxis +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_44] +Descr=l_ptDpr.tManiCommands.bStopPositionAll +SysID=4120 +DisplayName=StopAllAxis +WriteSyncDef=1 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE1 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_46] +Descr=l_ptDpr.atAxisCommands[0].bInitAxis +SysID=4120 +DisplayName=InitAxis1 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_47] +Descr=l_ptDpr.atAxisCommands[0].bDeInitAxis +SysID=4120 +DisplayName=ExitAxis1 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_48] +Descr=l_ptDpr.atAxisCommands[0].bStartReference +SysID=4120 +DisplayName=ReferenceAxis1 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_49] +Descr=l_ptDpr.atAxisCommands[0].bStopPosition +SysID=4120 +DisplayName=StopPositioningAxis1 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_50] +Descr=l_ptDpr.atAxisCommands[0].bClearErrors +SysID=4120 +DisplayName=ErrorQuitAxis1 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE2 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_51] +Descr=l_ptDpr.atAxisCommands[1].bInitAxis +SysID=4120 +DisplayName=InitAxis2 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_52] +Descr=l_ptDpr.atAxisCommands[1].bDeInitAxis +SysID=4120 +DisplayName=ExitAxis2 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_53] +Descr=l_ptDpr.atAxisCommands[1].bStartReference +SysID=4120 +DisplayName=ReferenceAxis2 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_54] +Descr=l_ptDpr.atAxisCommands[1].bStopPosition +SysID=4120 +DisplayName=StopPositioningAxis2 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_55] +Descr=l_ptDpr.atAxisCommands[1].bClearErrors +SysID=4120 +DisplayName=ErrorQuitAxis2 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE3 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_56] +Descr=l_ptDpr.atAxisCommands[2].bInitAxis +SysID=4120 +DisplayName=InitAxis3 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_57] +Descr=l_ptDpr.atAxisCommands[2].bDeInitAxis +SysID=4120 +DisplayName=ExitAxis3 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_58] +Descr=l_ptDpr.atAxisCommands[2].bStartReference +SysID=4120 +DisplayName=ReferenceAxis3 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_59] +Descr=l_ptDpr.atAxisCommands[2].bStopPosition +SysID=4120 +DisplayName=StopPositioningAxis3 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_60] +Descr=l_ptDpr.atAxisCommands[2].bClearErrors +SysID=4120 +DisplayName=ErrorQuitAxis3 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE4 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_61] +Descr=l_ptDpr.atAxisCommands[3].bInitAxis +SysID=4120 +DisplayName=InitAxis4 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_62] +Descr=l_ptDpr.atAxisCommands[3].bDeInitAxis +SysID=4120 +DisplayName=ExitAxis4 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_63] +Descr=l_ptDpr.atAxisCommands[3].bStartReference +SysID=4120 +DisplayName=ReferenceAxis4 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_64] +Descr=l_ptDpr.atAxisCommands[3].bStopPosition +SysID=4120 +DisplayName=StopPositioningAxis4 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_65] +Descr=l_ptDpr.atAxisCommands[3].bClearErrors +SysID=4120 +DisplayName=ErrorQuitAxis4 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE5 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_66] +Descr=l_ptDpr.atAxisCommands[4].bInitAxis +SysID=4120 +DisplayName=InitAxis5 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_67] +Descr=l_ptDpr.atAxisCommands[4].bDeInitAxis +SysID=4120 +DisplayName=ExitAxis5 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_68] +Descr=l_ptDpr.atAxisCommands[4].bStartReference +SysID=4120 +DisplayName=ReferenceAxis5 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_69] +Descr=l_ptDpr.atAxisCommands[4].bStopPosition +SysID=4120 +DisplayName=StopPositioningAxis5 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_70] +Descr=l_ptDpr.atAxisCommands[4].bClearErrors +SysID=4120 +DisplayName=ErrorQuitAxis5 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE6 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_71] +Descr=l_ptDpr.atAxisCommands[5].bInitAxis +SysID=4120 +DisplayName=InitAxis6 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_72] +Descr=l_ptDpr.atAxisCommands[5].bDeInitAxis +SysID=4120 +DisplayName=ExitAxis6 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_73] +Descr=l_ptDpr.atAxisCommands[5].bStartReference +SysID=4120 +DisplayName=ReferenceAxis6 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_74] +Descr=l_ptDpr.atAxisCommands[5].bStopPosition +SysID=4120 +DisplayName=StopPositioningAxis6 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_75] +Descr=l_ptDpr.atAxisCommands[5].bClearErrors +SysID=4120 +DisplayName=ErrorQuitAxis6 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE7 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_76] +Descr=l_ptDpr.atAxisCommands[6].bInitAxis +SysID=4096 +DisplayName=InitAxis7 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_77] +Descr=l_ptDpr.atAxisCommands[6].bDeInitAxis +SysID=4096 +DisplayName=ExitAxis7 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_78] +Descr=l_ptDpr.atAxisCommands[6].bStartReference +SysID=4096 +DisplayName=ReferenceAxis7 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_79] +Descr=l_ptDpr.atAxisCommands[6].bStopPosition +SysID=4096 +DisplayName=StopPositioningAxis7 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_80] +Descr=l_ptDpr.atAxisCommands[6].bClearErrors +SysID=4096 +DisplayName=ErrorQuitAxis7 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE8 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_81] +Descr=l_ptDpr.atAxisCommands[7].bInitAxis +SysID=4096 +DisplayName=InitAxis8 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_82] +Descr=l_ptDpr.atAxisCommands[7].bDeInitAxis +SysID=4096 +DisplayName=ExitAxis8 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_83] +Descr=l_ptDpr.atAxisCommands[7].bStartReference +SysID=4096 +DisplayName=ReferenceAxis8 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_84] +Descr=l_ptDpr.atAxisCommands[7].bStopPosition +SysID=4096 +DisplayName=StopPositioningAxis8 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_85] +Descr=l_ptDpr.atAxisCommands[7].bClearErrors +SysID=4096 +DisplayName=ErrorQuitAxis8 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE9 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_86] +Descr=l_ptDpr.atAxisCommands[8].bInitAxis +SysID=4096 +DisplayName=InitAxis9 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_87] +Descr=l_ptDpr.atAxisCommands[8].bDeInitAxis +SysID=4096 +DisplayName=ExitAxis9 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_88] +Descr=l_ptDpr.atAxisCommands[8].bStartReference +SysID=4096 +DisplayName=ReferenceAxis9 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_89] +Descr=l_ptDpr.atAxisCommands[8].bStopPosition +SysID=4096 +DisplayName=StopPositioningAxis9 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_90] +Descr=l_ptDpr.atAxisCommands[8].bClearErrors +SysID=4096 +DisplayName=ErrorQuitAxis9 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +;//////////////////////////////////////////////////////////////////////////////////////// +;// ACHSE10 +;//////////////////////////////////////////////////////////////////////////////////////// +[CONTROLCOMMAND_91] +Descr=l_ptDpr.atAxisCommands[9].bInitAxis +SysID=4096 +DisplayName=InitAxis10 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_92] +Descr=l_ptDpr.atAxisCommands[9].bDeInitAxis +SysID=4096 +DisplayName=ExitAxis10 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_93] +Descr=l_ptDpr.atAxisCommands[9].bStartReference +SysID=4096 +DisplayName=ReferenceAxis10 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_94] +Descr=l_ptDpr.atAxisCommands[9].bStopPosition +SysID=4096 +DisplayName=StopPositioningAxis10 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast + +[CONTROLCOMMAND_95] +Descr=l_ptDpr.atAxisCommands[9].bClearErrors +SysID=4096 +DisplayName=ErrorQuitAxis10 +WriteSyncDef=0 +DataType=6 +TaskName=pp_mast diff --git a/XP.Hardware.RaySource/ReleaseFiles/fxerr.ini b/XP.Hardware.RaySource/ReleaseFiles/fxerr.ini new file mode 100644 index 0000000..ca10601 --- /dev/null +++ b/XP.Hardware.RaySource/ReleaseFiles/fxerr.ini @@ -0,0 +1,294 @@ +[XRaySystemErrors] +ErrorNumber0=101 +ErrorString0="Data module init error" +ErrorNumber1=102 +ErrorString1="Data module sys error" +ErrorNumber2=103 +ErrorString2="Data module amp error" +ErrorNumber3=301 +ErrorString3="Timeout during filament adjusting" +ErrorNumber4=302 +ErrorString4="Timeout during warmup" +ErrorNumber5=303 +ErrorString5="Error door control" +ErrorNumber6=401 +ErrorString6="Defective warn lamp 1" +ErrorNumber7=402 +ErrorString7="Defective warn lamp 2" +ErrorNumber8=403 +ErrorString8="Defective warn lamp 3" +ErrorNumber9=404 +ErrorString9="Cooling defect" +ErrorNumber10=405 +ErrorString10="Error COM2" +ErrorNumber11=406 +ErrorString12="Error COM2" +ErrorNumber13=407 +ErrorString13="Error COM2" +ErrorNumber14=408 +ErrorString14="Error COM2" +ErrorNumber15=601 +ErrorString15="Defective warn lamp 1" +ErrorNumber16=602 +ErrorString16="Defective warn lamp 2" +ErrorNumber17=603 +ErrorString17="Defective warn lamp 3" +ErrorNumber18=604 +ErrorString18="Cooling defect" +ErrorNumber19=605 +ErrorString19="Error COM2" + +[HSGErrors] +ErrorNumber0=101 +ErrorString0="Data module error" +ErrorNumber1=201 +ErrorString1="Underflow of actual accelerating voltage" +ErrorNumber2=202 +ErrorString2="Overflow of actual accelerating voltage" +ErrorNumber3=203 +ErrorString3="Underflow of actual tube current" +ErrorNumber4=204 +ErrorString4="Overflow of actual tube current" +ErrorNumber5=205 +ErrorString5="Underflow of actual filament current" +ErrorNumber6=206 +ErrorString6="Overflow of actual filament current" +ErrorNumber7=301 +ErrorString7="Timeout acceleration voltage" +ErrorNumber8=302 +ErrorString8="Timeout tube current" +ErrorNumber9=303 +ErrorString9="Timeout filament adjust" +ErrorNumber10=402 +ErrorString10="High voltage generator overload" +ErrorNumber11=403 +ErrorString11="No filament current" +ErrorNumber12=501 +ErrorString12="Overvlow of nominal filament current" +ErrorNumber13=502 +ErrorString13="Overflow or underflow of nominal accelerating voltage" +ErrorNumber14=503 +ErrorString14="Overflow of nominal tube current" +ErrorNumber15=510 +ErrorString15="Error during filament adjust step 30" +ErrorNumber16=520 +ErrorString16="Nominal filament current smaller than filament offset" +ErrorNumber17=524 +ErrorString17="Filament working current exceeds limit during filament adjust" +ErrorNumber18=525 +ErrorString18="Filament working current exceeds limit during filament adjust" +ErrorNumber19=526 +ErrorString19="Nominal filament current smaller than filament offset during filament adjust" +ErrorNumber19=527 +ErrorString19="Nominal filament current smaller than filament offset during filament adjust" + +[TubeErrors] +ErrorNumber0=101 +ErrorString0="Data module error" +ErrorNumber1=102 +ErrorString1="Data module focus table created" +ErrorNumber2=103 +ErrorString2="Focus data module write error" +ErrorNumber3=104 +ErrorString3="Focus data module error" +ErrorNumber4=105 +ErrorString4="Focus table data module info error" +ErrorNumber5=106 +ErrorString5="Focus table data module read error" +ErrorNumber6=107 +ErrorString6="Condensor data module error" +ErrorNumber7=108 +ErrorString7="Data module condensor table created" +ErrorNumber8=109 +ErrorString8="Condensor table data module info error" +ErrorNumber9=110 +ErrorString9="Condensor table data module read error" +ErrorNumber10=111 +ErrorString10="Centering 1 / Centering 2 / Centering 3 data module error" +ErrorNumber11=114 +ErrorString11="Centering table 1 data module error" +ErrorNumber12=115 +ErrorString12="Centering table 2 data module error" +ErrorNumber13=116 +ErrorString13="Centering table 3 data module error" +ErrorNumber14=117 +ErrorString14="Conditioning data module error" +ErrorNumber15=118 +ErrorString15="Read focus data module error" +ErrorNumber16=119 +ErrorString16="Write focus data module error" +ErrorNumber17=120 +ErrorString17="Read default focus data module error" +ErrorNumber18=121 +ErrorString18="Write default focus data module error" +ErrorNumber19=122 +ErrorString19="Read condensor data module error" +ErrorNumber20=123 +ErrorString20="Write condensor data module error" +ErrorNumber21=124 +ErrorString21="Read default condensor data module error" +ErrorNumber22=125 +ErrorString22="Write default condensor data module error" +ErrorNumber23=126 +ErrorString23="Read centering 1 data module error" +ErrorNumber24=127 +ErrorString24="Read centering 2 data module error" +ErrorNumber25=128 +ErrorString25="Read centering 3 data module error" +ErrorNumber26=129 +ErrorString26="Write centering 1 data module error" +ErrorNumber27=130 +ErrorString27="Write centering 2 data module error" +ErrorNumber28=131 +ErrorString28="Write centering 3 data module error" +ErrorNumber29=132 +ErrorString29="Read default centering 1 data module error" +ErrorNumber30=133 +ErrorString30="Read default centering 2 data module error" +ErrorNumber31=134 +ErrorString31="Read default centering 3 data module error" +ErrorNumber32=135 +ErrorString32="Write default centering 1 data module error" +ErrorNumber33=136 +ErrorString33="Write default centering 2 data module error" +ErrorNumber34=137 +ErrorString34="Write default centering 3 data module error" +ErrorNumber35=140 +ErrorString35="Shutter data module error" +ErrorNumber36=141 +ErrorString36="Data module shutter created" +ErrorNumber37=142 +ErrorString37="Shutter table data module info error" +ErrorNumber38=143 +ErrorString38="Shutter table data module read error" +ErrorNumber39=144 +ErrorString39="Scan data module error" +ErrorNumber40=145 +ErrorString40="Scan table data module error" +ErrorNumber41=146 +ErrorString41="Ti_Reg data module error" +ErrorNumber42=147 +ErrorString42="dm_ken (focus) data module error" +ErrorNumber43=148 +ErrorString43="dm_ken (condensor) data module error" +ErrorNumber44=149 +ErrorString44="Mode_x data module error" +ErrorNumber45=150 +ErrorString45="burn data module error" +ErrorNumber46=151 +ErrorString46="tube_cur data module error" +ErrorNumber47=152 +ErrorString47="Tubehead data module error" +ErrorNumber48=153 +ErrorString48="Target data module error" +ErrorNumber49=154 +ErrorString49="read_def_tube_cur data module error" +ErrorNumber50=155 +ErrorString50="write_def_tube_cur data module error" +ErrorNumber51=156 +ErrorString51="Filament data module error" +ErrorNumber52=201 +ErrorString52="Underflow of actual target (amp1) current" +ErrorNumber53=202 +ErrorString53="Overflow of actual target (amp1) current" +ErrorNumber54=203 +ErrorString54="Underflow of actual target (amp2) current" +ErrorNumber55=204 +ErrorString55="Overflow of actual target (amp2) current" +ErrorNumber56=205 +ErrorString56="Underflow of actual amp3 current" +ErrorNumber57=206 +ErrorString57="Overflow of actual amp3 current" +ErrorNumber58=301 +ErrorString58="Time limit for centering current overflow exeeded, x-ray switched off" +ErrorNumber59=302 +ErrorString59="Time limit for shutter exceeded, xray switched off" +ErrorNumber60=401 +ErrorString60="Overflow of target power" +ErrorNumber61=402 +ErrorString61="Missing amplifier" +ErrorNumber62=403 +ErrorString62="Scanning coil temperature overflow" +ErrorNumber63=501 +ErrorString63="Overflow of nominal focus current" +ErrorNumber64=502 +ErrorString64="Overflow of nominal centering current x" +ErrorNumber65=503 +ErrorString65="Overflow of nominal centering current y" +ErrorNumber66=504 +ErrorString66="Overflow of nominal centering current" +ErrorNumber67=505 +ErrorString67="Overflow of nominal shutter current" +ErrorNumber68=506 +ErrorString68="Overflow of actual focus current" +ErrorNumber69=507 +ErrorString69="Negative focus current" +ErrorNumber70=611 +ErrorString70="Error during autocentering (plane 1)" +ErrorNumber71=612 +ErrorString71="Error during autocentering (plane 1)" +ErrorNumber72=613 +ErrorString72="Error during autocentering (plane 1)" +ErrorNumber73=614 +ErrorString73="Error during autocentering (plane 1)" +ErrorNumber74=615 +ErrorString74="Error during autocentering (plane 1)" +ErrorNumber75=616 +ErrorString75="Error during autocentering (plane 1)" +ErrorNumber76=617 +ErrorString76="Max. number of runs for autocentering exceeded (plane 1)" +ErrorNumber77=618 +ErrorString77="Centering current exceeded (plane 1)" +ErrorNumber78=621 +ErrorString78="Error during autocentering (plane 2)" +ErrorNumber79=622 +ErrorString79="Error during autocentering (plane 2)" +ErrorNumber80=623 +ErrorString80="Error during autocentering (plane 2)" +ErrorNumber81=624 +ErrorString81="Error during autocentering (plane 2)" +ErrorNumber82=625 +ErrorString82="Error during autocentering (plane 2)" +ErrorNumber83=626 +ErrorString83="Error during autocentering (plane 2)" +ErrorNumber84=627 +ErrorString84="Max. number of runs for autocentering exceeded (plane 2)" +ErrorNumber85=628 +ErrorString85="Centering current exceeded (plane 2)" +ErrorNumber86=631 +ErrorString86="Error during autocentering (plane 3)" +ErrorNumber87=632 +ErrorString87="Error during autocentering (plane 3)" +ErrorNumber88=633 +ErrorString88="Error during autocentering (plane 3)" +ErrorNumber89=634 +ErrorString89="Error during autocentering (plane 3)" +ErrorNumber90=635 +ErrorString90="Error during autocentering (plane 3)" +ErrorNumber91=636 +ErrorString91="Error during autocentering (plane 3)" +ErrorNumber92=637 +ErrorString92="Max. number of runs for autocentering exceeded (plane 3)" +ErrorNumber93=638 +ErrorString93="Centering current exceeded (plane 3)" + + +[VacuumErrors] +ErrorNumber1=101 +ErrorString1="Data module error" +ErrorNumber2=201 +ErrorString2="Underflow of actual vacuum value" +ErrorNumber3=202 +ErrorString3="Overflow of actual vacuum value" +ErrorNumber4=301 +ErrorString4="Timeout vacuum" +ErrorNumber5=301 +ErrorString5="Timeout vacuum breakdown" +ErrorNumber6=401 +ErrorString6="Bad vacuum during X-ray on" + +[AxisErrors] +ErrorNumber0=1002 +ErrorString0="general EL_Critical" + +[ManiErrors] diff --git a/XP.Hardware.RaySource/ReleaseFiles/unins000.dat b/XP.Hardware.RaySource/ReleaseFiles/unins000.dat new file mode 100644 index 0000000..227c4d3 Binary files /dev/null and b/XP.Hardware.RaySource/ReleaseFiles/unins000.dat differ