Commit 78ef9b52 authored by 潘栩锋's avatar 潘栩锋 :bicyclist:

修复 PLC旋转位置预测

parent 10a78647
......@@ -70,6 +70,17 @@
</GroupBox>
<GroupBox x:Name="gbRotary" Header="旋转架" Margin="5">
<StackPanel>
<TextBlock Text="PLC 正反向 寄存器错了" Foreground="Red">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsPlcRegDirectionError}" Value="false">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<StackPanel Orientation="Horizontal" >
<StackPanel Margin="4" >
......@@ -77,11 +88,11 @@
<TextBlock Style="{StaticResource TextBlockStyle_Led}" Tag="{Binding IsRotaryOn}" />
</StackPanel>
<StackPanel Margin="4" >
<TextBlock Text="顺时针旋转(反)" />
<TextBlock Text="反旋转" />
<TextBlock Style="{StaticResource TextBlockStyle_Led}" Tag="{Binding IsBackw}" />
</StackPanel>
<StackPanel Margin="4" >
<TextBlock Text="逆时针旋转(正)" />
<TextBlock Text="正旋转" />
<TextBlock Style="{StaticResource TextBlockStyle_Led}" Tag="{Binding IsForw}" />
</StackPanel>
......
......@@ -51,7 +51,7 @@ using System.Windows;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.0.3")]
[assembly: AssemblyFileVersion("7.0.3")]
[assembly: AssemblyVersion("7.0.8")]
[assembly: AssemblyFileVersion("7.0.8")]
[assembly: Guid("A4B71A37-7B77-47AA-9F59-ACC3EF84C4E0")]
......@@ -73,6 +73,16 @@ namespace FLY.Thick.Blowing.RotaryMachine.Client
/// </summary>
public double RPosGlobal { get; set; }
/// <summary>
/// 旋转架一圈脉冲数
/// </summary>
public double RPosOfR { get; set; }
/// <summary>
/// 1圈分钟数 RPosOfR/RSpeed/60.0
/// </summary>
public double MinuteOfR { get; set; }
/// <summary>
/// 旋转塔开启指示
/// </summary>
......
......@@ -69,6 +69,16 @@ namespace FLY.Thick.Blowing.RotaryMachine.IService
/// </summary>
double RPosGlobal { get; }
/// <summary>
/// 旋转架一圈脉冲数
/// </summary>
double RPosOfR { get; }
/// <summary>
/// 1圈分钟数 RPosOfR/RSpeed/60.0
/// </summary>
double MinuteOfR { get; }
/// <summary>
/// 旋转塔开启指示
/// </summary>
......
......@@ -51,6 +51,6 @@ using System.Windows;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.0.1")]
[assembly: AssemblyFileVersion("7.0.1")]
[assembly: AssemblyVersion("7.0.7")]
[assembly: AssemblyFileVersion("7.0.7")]
[assembly: Guid("D12087A7-EEC4-4D9F-9269-8F20324F4B04")]
......@@ -51,6 +51,6 @@ using System.Windows;
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.0.2")]
[assembly: AssemblyFileVersion("7.0.2")]
[assembly: AssemblyVersion("7.0.7")]
[assembly: AssemblyFileVersion("7.0.7")]
[assembly: Guid("72FBA808-FA10-43BF-8504-C6E814E031E7")]
......@@ -486,7 +486,6 @@ namespace FLY.Thick.Blowing.Server
FObjServiceClientManager.Instance.ConnAddrs.Add(new ConnAddr() { ConnName = connName, Addr = PlcAddr });
rotarySerivce = new RotarySerivceClient(FLY.Thick.Blowing.RotaryMachine.OBJ_INTERFACE.OBJ_INTERFACE_ID.RotarySerivce_OBJ_ID, connName);
update_orgRPos_plc();
Misc.BindingOperations.SetBinding(rotarySerivce, nameof(rotarySerivce.RPosGlobal), () =>
{
GlobalRPos = (int)(rotarySerivce.RPosGlobal);
......@@ -495,38 +494,31 @@ namespace FLY.Thick.Blowing.Server
{
RSpeed = (int)(rotarySerivce.RSpeed);
});
Misc.BindingOperations.SetBinding(rotarySerivce, nameof(rotarySerivce.RPosOfR), () =>
{
RPosOfR = (int)(rotarySerivce.RPosOfR);
if (double.IsNaN(rotarySerivce.RPosAtTurnSign0))
{
//刚开机随便一个值
OrgRPos = -RPosOfR / 2;
}
});
Misc.BindingOperations.SetBinding(rotarySerivce, nameof(rotarySerivce.RPosAtTurnSign0), () =>
{
if (!double.IsNaN(rotarySerivce.RPosAtTurnSign0))
OrgRPos = (int)(rotarySerivce.RPosAtTurnSign0);
else
{
//刚开机随便一个值
OrgRPos = -RPosOfR / 2;
}
});
rotarySerivce.PropertyChanged += RotarySerivce_PropertyChanged;
}
void update_orgRPos_plc()
{
if (!double.IsNaN(rotarySerivce.RPosAtTurnSign0))
{
OrgRPos = (int)rotarySerivce.RPosAtTurnSign0;
//脉冲有效了
OrgRPosValidLv = OrgRPosValidLevel.Sign0;
}
else if (!double.IsNaN(rotarySerivce.RPosAtTurnSign1))
{
OrgRPos = (int)rotarySerivce.RPosAtTurnSign1 - RPosOfR;
//只撞了信号1,好过没有
OrgRPosValidLv = OrgRPosValidLevel.Sign1;
}
else if (!double.IsNaN(rotarySerivce.RPosAtOrgSign))
{
OrgRPos = (int)rotarySerivce.RPosAtOrgSign - RPosOfR / 2;
//只撞了归零信号,好过没有
OrgRPosValidLv = OrgRPosValidLevel.Sign1;
}
}
string[] propertyNameOfUpdateOrgRPos = new string[] {
nameof(IRotarySerivce.RPosAtTurnSign0),
nameof(IRotarySerivce.RPosAtTurnSign1),
nameof(IRotarySerivce.RPosAtOrgSign)
};
private void RotarySerivce_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(IRotarySerivce.IsTurnSign0))
......@@ -559,21 +551,6 @@ namespace FLY.Thick.Blowing.Server
//更新其它参数
update_param_for_limit(sd.Time);
}
//else if (e.PropertyName == nameof(IRotarySerivce.IsOrgSign))
//{
// SignData sd = new SignData()
// {
// No = 2,
// Time = DateTime.Now,
// On = rotarySerivce.IsOrgSign,
// GlobalRPos = GlobalRPos
// };
// mSignList.RAdd(sd);
//}
else if (propertyNameOfUpdateOrgRPos.Contains(e.PropertyName))
{
update_orgRPos_plc();
}
}
void update_limit(FlyADBase.IStatusChangedEventArgs e)
......
......@@ -51,6 +51,6 @@ using System.Windows;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.0.4")]
[assembly: AssemblyFileVersion("7.0.4")]
[assembly: AssemblyVersion("7.0.7")]
[assembly: AssemblyFileVersion("7.0.7")]
[assembly: Guid("38E0D8EC-4D1C-49FF-AB08-6289294C5BD4")]
......@@ -51,7 +51,7 @@ using System.Windows;
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.0.3.0")]
[assembly: AssemblyFileVersion("7.0.3.0")]
[assembly: AssemblyVersion("7.0.7.0")]
[assembly: AssemblyFileVersion("7.0.7.0")]
[assembly: Guid("A2277244-BCD4-485B-85F4-AAE96DA235B5")]
......@@ -2358,6 +2358,8 @@ namespace FLY.Thick.BlowingScan.Server
/// 测厚仪测量点位置方向:Left, Right (也就是三角形在左还是右)
/// </summary>
public bool IsProbeRight { get; set; } = true;
public bool IsForwCW { get; set; }
}
}
......
......@@ -67,6 +67,17 @@
</GroupBox>
<GroupBox x:Name="gbRotary" Header="旋转架" Margin="5">
<StackPanel>
<TextBlock Text="PLC 正反向 寄存器错了" Foreground="Red">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsPlcRegDirectionError}" Value="false">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<StackPanel Orientation="Horizontal" >
<StackPanel Margin="4" >
......@@ -74,11 +85,11 @@
<TextBlock Style="{StaticResource TextBlockStyle_Led}" Tag="{Binding IsRotaryOn}" />
</StackPanel>
<StackPanel Margin="4" >
<TextBlock Text="顺时针旋转(反)" />
<TextBlock Text="反旋转" />
<TextBlock Style="{StaticResource TextBlockStyle_Led}" Tag="{Binding IsBackw}" />
</StackPanel>
<StackPanel Margin="4" >
<TextBlock Text="逆时针旋转(正)" />
<TextBlock Text="正旋转" />
<TextBlock Style="{StaticResource TextBlockStyle_Led}" Tag="{Binding IsForw}" />
</StackPanel>
......@@ -154,6 +165,12 @@
<Run FontSize="20" Text="{Binding RPosOfR,StringFormat={}{0:F0}}"/>p
</TextBlock>
</StackPanel>
<StackPanel Margin="4" >
<TextBlock Text="1圈时间" />
<TextBlock>
<Run FontSize="20" Text="{Binding MinuteOfR,StringFormat={}{0:F1}}"/>min
</TextBlock>
</StackPanel>
<Button Content="配置" Padding="20,5" Margin="5" HorizontalAlignment="Left" Click="btnRotaryClick"></Button>
</StackPanel>
</StackPanel>
......
......@@ -51,6 +51,6 @@ using System.Windows;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.0.4.0")]
[assembly: AssemblyFileVersion("7.0.4.0")]
[assembly: AssemblyVersion("7.0.7.0")]
[assembly: AssemblyFileVersion("7.0.7.0")]
[assembly: Guid("0CE35EA7-927A-41C0-9DC6-80511329760B")]
......@@ -37,7 +37,7 @@ namespace WpfApp1
w.Height = 600;
w.Width = 800;
w.DataContext = downBlowingSystem;
var p = new TempAreaPanel();
var p = new TempAreaPanel2();
w.Content = p;
w.Show();
......
{
"InstallZipVersion":"7.0.5",
"InstallZipUrl":"http://server.flyautomation.net:8889/download/和美安装包_v7.0.5_20220515.7z"
"InstallZipVersion":"7.0.7",
"InstallZipUrl":"http://server.flyautomation.net:8889/download/和美安装包_v7.0.7_20220517.7z"
}
\ No newline at end of file
......@@ -3,15 +3,15 @@
"Devices": [
{
"PlcName": "外收卷",
"EP": "127.168.50.40:502"
"EP": "192.168.50.40:502"
},
{
"PlcName": "IBC",
"EP": "127.168.50.30:502"
"EP": "192.168.50.30:502"
},
{
"PlcName": "吸料",
"EP": "127.168.50.70:502"
"EP": "192.168.50.70:502"
}
],
"Variables": [
......@@ -858,12 +858,12 @@
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 774,
"Addr": 792,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "WinderAccessory",
"PropertyName": "IsT2On",
"RegAddr": "收卷.M774"
"RegAddr": "收卷.M792"
},
{
"DeviceIndex": 0,
......
......@@ -858,12 +858,12 @@
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 774,
"Addr": 792,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "WinderAccessory",
"PropertyName": "IsT2On",
"RegAddr": "收卷.M774"
"RegAddr": "收卷.M792"
},
{
"DeviceIndex": 0,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment