1机械手添加状态绑定

2机械手添加晶圆设定和查询
3修改磁流体相关内容
This commit is contained in:
Han Qiang Qiang 2024-06-30 15:50:31 +08:00
parent acb370ddb6
commit acbeb15279
16 changed files with 233 additions and 115 deletions

View File

@ -18,6 +18,7 @@ using Aitex.Sorter.Common;
using MECF.Framework.Common.Equipment;
using MECF.Framework.Common.Event;
using MECF.Framework.Common.PLC;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots;
using SicModules.TMs.Routines;
using SicAds = SicModules.Devices.SicAds;
@ -574,6 +575,10 @@ namespace SicModules.TMs
OP.Subscribe($"{Module}.SetOnline", (string cmd, object[] args) => PutOnline());
OP.Subscribe($"{Module}.SetOffline", (string cmd, object[] args) => PutOffline());
OP.Subscribe($"TMRobot.RobotArmBlade1SetParameter", (string cmd, object[] args) =>RobotArmBlade1SetParameter(args));
OP.Subscribe($"TMRobot.RobotArmBlade1ReadParameter", (string cmd, object[] args) => RobotArmBlade1ReadParameter(args));
}
private void InitData()
@ -703,6 +708,16 @@ namespace SicModules.TMs
return true;
}
private bool RobotArmBlade1SetParameter(object[] param)
{
return RobotDevice.SetParameter(new object[] { param[0], RobotArmEnum.Blade1, param[1] });
}
private bool RobotArmBlade1ReadParameter(object[] param)
{
return RobotDevice.ReadParameter(new object[] { param[0], RobotArmEnum.Blade1});
}
private bool FsmExitError(object[] param)
{
return true;

View File

@ -2,34 +2,34 @@
"Major": 23,
"Minor": 9,
"Patch": 2,
"PreReleaseTag": "----multiplate-develop.592",
"PreReleaseTagWithDash": "-----multiplate-develop.592",
"PreReleaseTag": "----multiplate-develop.593",
"PreReleaseTagWithDash": "-----multiplate-develop.593",
"PreReleaseLabel": "----multiplate-develop",
"PreReleaseLabelWithDash": "-----multiplate-develop",
"PreReleaseNumber": 592,
"WeightedPreReleaseNumber": 592,
"PreReleaseNumber": 593,
"WeightedPreReleaseNumber": 593,
"BuildMetaData": null,
"BuildMetaDataPadded": "",
"FullBuildMetaData": "Branch.----multiplate-develop.Sha.cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"FullBuildMetaData": "Branch.----multiplate-develop.Sha.acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"MajorMinorPatch": "23.9.2",
"SemVer": "23.9.2-----multiplate-develop.592",
"LegacySemVer": "23.9.2-----multiplate-de592",
"LegacySemVerPadded": "23.9.2-----multiplate-d0592",
"AssemblySemVer": "23.9.2.592",
"AssemblySemFileVer": "23.9.2.592",
"FullSemVer": "23.9.2-----multiplate-develop.592",
"InformationalVersion": "23.9.2-----multiplate-develop.592+Branch.----multiplate-develop.Sha.cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"SemVer": "23.9.2-----multiplate-develop.593",
"LegacySemVer": "23.9.2-----multiplate-de593",
"LegacySemVerPadded": "23.9.2-----multiplate-d0593",
"AssemblySemVer": "23.9.2.593",
"AssemblySemFileVer": "23.9.2.593",
"FullSemVer": "23.9.2-----multiplate-develop.593",
"InformationalVersion": "23.9.2-----multiplate-develop.593+Branch.----multiplate-develop.Sha.acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"BranchName": "多片机/multiplate-develop",
"EscapedBranchName": "----multiplate-develop",
"Sha": "cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"ShortSha": "cc3fcd2",
"NuGetVersionV2": "23.9.2-----multiplate-d0592",
"NuGetVersion": "23.9.2-----multiplate-d0592",
"NuGetPreReleaseTagV2": "----multiplate-d0592",
"NuGetPreReleaseTag": "----multiplate-d0592",
"Sha": "acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"ShortSha": "acb370d",
"NuGetVersionV2": "23.9.2-----multiplate-d0593",
"NuGetVersion": "23.9.2-----multiplate-d0593",
"NuGetPreReleaseTagV2": "----multiplate-d0593",
"NuGetPreReleaseTag": "----multiplate-d0593",
"VersionSourceSha": "c29389314a6af8abb1346677a53be6fe6b00379e",
"CommitsSinceVersionSource": 592,
"CommitsSinceVersionSourcePadded": "0592",
"UncommittedChanges": 2,
"CommitDate": "2024-06-27"
"CommitsSinceVersionSource": 593,
"CommitsSinceVersionSourcePadded": "0593",
"UncommittedChanges": 0,
"CommitDate": "2024-06-28"
}

View File

@ -2,34 +2,34 @@
"Major": 23,
"Minor": 9,
"Patch": 2,
"PreReleaseTag": "----multiplate-develop.592",
"PreReleaseTagWithDash": "-----multiplate-develop.592",
"PreReleaseTag": "----multiplate-develop.593",
"PreReleaseTagWithDash": "-----multiplate-develop.593",
"PreReleaseLabel": "----multiplate-develop",
"PreReleaseLabelWithDash": "-----multiplate-develop",
"PreReleaseNumber": 592,
"WeightedPreReleaseNumber": 592,
"PreReleaseNumber": 593,
"WeightedPreReleaseNumber": 593,
"BuildMetaData": null,
"BuildMetaDataPadded": "",
"FullBuildMetaData": "Branch.----multiplate-develop.Sha.cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"FullBuildMetaData": "Branch.----multiplate-develop.Sha.acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"MajorMinorPatch": "23.9.2",
"SemVer": "23.9.2-----multiplate-develop.592",
"LegacySemVer": "23.9.2-----multiplate-de592",
"LegacySemVerPadded": "23.9.2-----multiplate-d0592",
"AssemblySemVer": "23.9.2.592",
"AssemblySemFileVer": "23.9.2.592",
"FullSemVer": "23.9.2-----multiplate-develop.592",
"InformationalVersion": "23.9.2-----multiplate-develop.592+Branch.----multiplate-develop.Sha.cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"SemVer": "23.9.2-----multiplate-develop.593",
"LegacySemVer": "23.9.2-----multiplate-de593",
"LegacySemVerPadded": "23.9.2-----multiplate-d0593",
"AssemblySemVer": "23.9.2.593",
"AssemblySemFileVer": "23.9.2.593",
"FullSemVer": "23.9.2-----multiplate-develop.593",
"InformationalVersion": "23.9.2-----multiplate-develop.593+Branch.----multiplate-develop.Sha.acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"BranchName": "多片机/multiplate-develop",
"EscapedBranchName": "----multiplate-develop",
"Sha": "cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"ShortSha": "cc3fcd2",
"NuGetVersionV2": "23.9.2-----multiplate-d0592",
"NuGetVersion": "23.9.2-----multiplate-d0592",
"NuGetPreReleaseTagV2": "----multiplate-d0592",
"NuGetPreReleaseTag": "----multiplate-d0592",
"Sha": "acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"ShortSha": "acb370d",
"NuGetVersionV2": "23.9.2-----multiplate-d0593",
"NuGetVersion": "23.9.2-----multiplate-d0593",
"NuGetPreReleaseTagV2": "----multiplate-d0593",
"NuGetPreReleaseTag": "----multiplate-d0593",
"VersionSourceSha": "c29389314a6af8abb1346677a53be6fe6b00379e",
"CommitsSinceVersionSource": 592,
"CommitsSinceVersionSourcePadded": "0592",
"UncommittedChanges": 2,
"CommitDate": "2024-06-27"
"CommitsSinceVersionSource": 593,
"CommitsSinceVersionSourcePadded": "0593",
"UncommittedChanges": 0,
"CommitDate": "2024-06-28"
}

View File

@ -2,34 +2,34 @@
"Major": 23,
"Minor": 9,
"Patch": 2,
"PreReleaseTag": "----multiplate-develop.592",
"PreReleaseTagWithDash": "-----multiplate-develop.592",
"PreReleaseTag": "----multiplate-develop.593",
"PreReleaseTagWithDash": "-----multiplate-develop.593",
"PreReleaseLabel": "----multiplate-develop",
"PreReleaseLabelWithDash": "-----multiplate-develop",
"PreReleaseNumber": 592,
"WeightedPreReleaseNumber": 592,
"PreReleaseNumber": 593,
"WeightedPreReleaseNumber": 593,
"BuildMetaData": null,
"BuildMetaDataPadded": "",
"FullBuildMetaData": "Branch.----multiplate-develop.Sha.cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"FullBuildMetaData": "Branch.----multiplate-develop.Sha.acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"MajorMinorPatch": "23.9.2",
"SemVer": "23.9.2-----multiplate-develop.592",
"LegacySemVer": "23.9.2-----multiplate-de592",
"LegacySemVerPadded": "23.9.2-----multiplate-d0592",
"AssemblySemVer": "23.9.2.592",
"AssemblySemFileVer": "23.9.2.592",
"FullSemVer": "23.9.2-----multiplate-develop.592",
"InformationalVersion": "23.9.2-----multiplate-develop.592+Branch.----multiplate-develop.Sha.cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"SemVer": "23.9.2-----multiplate-develop.593",
"LegacySemVer": "23.9.2-----multiplate-de593",
"LegacySemVerPadded": "23.9.2-----multiplate-d0593",
"AssemblySemVer": "23.9.2.593",
"AssemblySemFileVer": "23.9.2.593",
"FullSemVer": "23.9.2-----multiplate-develop.593",
"InformationalVersion": "23.9.2-----multiplate-develop.593+Branch.----multiplate-develop.Sha.acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"BranchName": "多片机/multiplate-develop",
"EscapedBranchName": "----multiplate-develop",
"Sha": "cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"ShortSha": "cc3fcd2",
"NuGetVersionV2": "23.9.2-----multiplate-d0592",
"NuGetVersion": "23.9.2-----multiplate-d0592",
"NuGetPreReleaseTagV2": "----multiplate-d0592",
"NuGetPreReleaseTag": "----multiplate-d0592",
"Sha": "acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"ShortSha": "acb370d",
"NuGetVersionV2": "23.9.2-----multiplate-d0593",
"NuGetVersion": "23.9.2-----multiplate-d0593",
"NuGetPreReleaseTagV2": "----multiplate-d0593",
"NuGetPreReleaseTag": "----multiplate-d0593",
"VersionSourceSha": "c29389314a6af8abb1346677a53be6fe6b00379e",
"CommitsSinceVersionSource": 592,
"CommitsSinceVersionSourcePadded": "0592",
"UncommittedChanges": 2,
"CommitDate": "2024-06-27"
"CommitsSinceVersionSource": 593,
"CommitsSinceVersionSourcePadded": "0593",
"UncommittedChanges": 0,
"CommitDate": "2024-06-28"
}

View File

@ -3006,6 +3006,7 @@
<RowDefinition Height="32" />
<RowDefinition Height="32" />
<RowDefinition Height="32" />
<RowDefinition Height="32" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90" />
@ -3487,6 +3488,86 @@
</StackPanel>
</Border>
<Border
Grid.Row="7"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Robot Wafer"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="7"
Grid.Column="1"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<ComboBox
Width="90"
Height="25"
Name="cmb_RobotLoads"
ItemsSource="{Binding RobotLoads}"
SelectedItem="{Binding SelectRobotLoad}" />
</Border>
<Border
Grid.Row="7"
Grid.Column="2"
Padding="5,1,0,1"
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<StackPanel Orientation="Horizontal">
<Button
Width="90"
Height="25"
Margin="10,0"
Content="Robot Set"
IsEnabled="{Binding CheckOffline}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="RobotSetParameter"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Button
Width="90"
Height="25"
Margin="10,0"
Content="Robot Read"
IsEnabled="{Binding CheckOffline}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="RobotReadParameter"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<TextBlock
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding RobotHaveWafer}"
TextAlignment="Center"
TextWrapping="Wrap" />
</StackPanel>
</Border>
</Grid>
<Grid Margin="0,-20" Visibility="{Binding IsBufferInstalled, Converter={StaticResource BoolVisibilityConverter}}">

View File

@ -14,6 +14,7 @@ using Aitex.Core.RT.SCCore;
using Aitex.Core.RT.DataCenter;
using MECF.Framework.Common.DBCore;
using System;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots;
namespace SicUI.Client.Models.Platform.TM
{
@ -264,6 +265,15 @@ namespace SicUI.Client.Models.Platform.TM
return ModuleStatusBackground.GetStatusBackground(status);
}
private List<string> _robotLoads=new List<string>(){"ON","OFF"};
public List<string> RobotLoads
{
get { return _robotLoads; }
set { _robotLoads = value; NotifyOfPropertyChange("RobotLoads"); }
}
public string SelectRobotLoad { get; set; } = "ON";
private List<string> _modules = new List<string>() { "PM1", "PM2", "LoadLock", "UnLoad", "Buffer.01", "Buffer.02", "Buffer.03" };
public List<string> Modules
@ -633,6 +643,12 @@ namespace SicUI.Client.Models.Platform.TM
#endregion
#region TM Robot
[Subscription("TMRobot.IsHaveWafer")]
public bool IsHaveWafer { get; set; }
public string RobotHaveWafer => IsHaveWafer ? "ON" : "OFF";
public void TMRobot_Home()
{
TMProvider.Instance.TMRobot_Home();
@ -1091,7 +1107,15 @@ namespace SicUI.Client.Models.Platform.TM
InvokeClient.Instance.Service.DoOperation($"{module}.Separate");
}
public void RobotSetParameter()
{
InvokeClient.Instance.Service.DoOperation($"TMRobot.RobotArmBlade1SetParameter", new object[] { "SetLoad", SelectRobotLoad =="ON" ? true:false});
}
public void RobotReadParameter()
{
InvokeClient.Instance.Service.DoOperation($"TMRobot.RobotArmBlade1ReadParameter", new object[] { "QueryWaferPresent"});
}
#endregion
#region ConfinementRing

View File

@ -1432,12 +1432,10 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button
Margin="5,2"
Content="Move">
<Button Margin="5,2" Content="Move">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SpindleSpeedRun">
<cal:ActionMessage MethodName="SetActualSpeed">
<cal:Parameter Value="{Binding Path=Text, ElementName=txtActualSpeed}" />
</cal:ActionMessage>
</i:EventTrigger>
@ -1494,7 +1492,7 @@
<Button Margin="5,2" Content="Move">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SpindleLoadAngleRun">
<cal:ActionMessage MethodName="LoadAngleSet">
<cal:Parameter Value="{Binding Path=Text, ElementName=txtLoadAngleSet}" />
</cal:ActionMessage>
</i:EventTrigger>
@ -1526,7 +1524,7 @@
<Button Margin="5,2" Content="Move">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SpindleUnloadAngleRun">
<cal:ActionMessage MethodName="UnloadAngleSet">
<cal:Parameter Value="{Binding Path=Text, ElementName=txtUnloadAngleSet}" />
</cal:ActionMessage>
</i:EventTrigger>
@ -1555,10 +1553,10 @@
<ctrl:TextBoxEx
x:Name="txtLoadAngleSet"
Height="22"
EditBoxMode="SignInteger"
EditBoxMode="Decimal"
FontFamily="Arial"
FontSize="14"
MaxValue="360"
MaxValue="0"
MinValue="-360"
Text="0.0"
ToolTip="相对位置设定"
@ -1585,11 +1583,11 @@
<ctrl:TextBoxEx
Name="txtUnloadAngleSet"
Height="22"
EditBoxMode="SignInteger"
EditBoxMode="Decimal"
FontFamily="Arial"
FontSize="14"
MaxValue="0"
MinValue="-360"
MaxValue="360"
MinValue="0"
Text="0.0"
ToolTip="相对位置设定"
Validation.ErrorTemplate="{x:Null}" />

View File

@ -462,17 +462,17 @@ namespace SicUI.Models.PMs
public void SetActualSpeed(object data)
{
SetPMServoValue(data, 1000, 0, "SetActualSpeed");
SetPMServoValue(data, 1000, 0, "SpindleSpeedRun");
}
public void LoadAngleSet(object data)
{
SetPMServoValue(data, 360, -360, "SpindleLoadAngleSet");
SetPMServoValue(data, 0, -360, "SpindleLoadAngleRun");
}
public void UnloadAngleSet(object data)
{
SetPMServoValue(data, 0, -360, "SpindleUnloadAngleSet");
SetPMServoValue(data, 360, 0, "SpindleUnloadAngleRun");
}
private void SetPMServoValue(object data, int max,int min,string name)
@ -494,19 +494,19 @@ namespace SicUI.Models.PMs
InvokeClient.Instance.Service.DoOperation($"{SystemName}.PMServo.{name}", value);
}
public void SpindleSpeedRun(string cmd)
{
InvokeClient.Instance.Service.DoOperation($"{SystemName}.PMServo.SpindleSpeedRun", Convert.ToSingle(cmd));
}
//public void SpindleSpeedRun(string cmd)
//{
// InvokeClient.Instance.Service.DoOperation($"{SystemName}.PMServo.SpindleSpeedRun", Convert.ToSingle(cmd));
//}
public void SpindleLoadAngleRun(string cmd)
{
InvokeClient.Instance.Service.DoOperation($"{SystemName}.PMServo.SpindleLoadAngleRun", Convert.ToSingle(cmd));
}
public void SpindleUnloadAngleRun(string cmd)
{
InvokeClient.Instance.Service.DoOperation($"{SystemName}.PMServo.SpindleUnloadAngleRun", Convert.ToSingle(cmd));
}
//public void SpindleLoadAngleRun(string cmd)
//{
// InvokeClient.Instance.Service.DoOperation($"{SystemName}.PMServo.SpindleLoadAngleRun", Convert.ToSingle(cmd));
//}
//public void SpindleUnloadAngleRun(string cmd)
//{
// InvokeClient.Instance.Service.DoOperation($"{SystemName}.PMServo.SpindleUnloadAngleRun", Convert.ToSingle(cmd));
//}
#endregion

View File

@ -2,34 +2,34 @@
"Major": 23,
"Minor": 9,
"Patch": 2,
"PreReleaseTag": "----multiplate-develop.592",
"PreReleaseTagWithDash": "-----multiplate-develop.592",
"PreReleaseTag": "----multiplate-develop.593",
"PreReleaseTagWithDash": "-----multiplate-develop.593",
"PreReleaseLabel": "----multiplate-develop",
"PreReleaseLabelWithDash": "-----multiplate-develop",
"PreReleaseNumber": 592,
"WeightedPreReleaseNumber": 592,
"PreReleaseNumber": 593,
"WeightedPreReleaseNumber": 593,
"BuildMetaData": null,
"BuildMetaDataPadded": "",
"FullBuildMetaData": "Branch.----multiplate-develop.Sha.cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"FullBuildMetaData": "Branch.----multiplate-develop.Sha.acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"MajorMinorPatch": "23.9.2",
"SemVer": "23.9.2-----multiplate-develop.592",
"LegacySemVer": "23.9.2-----multiplate-de592",
"LegacySemVerPadded": "23.9.2-----multiplate-d0592",
"AssemblySemVer": "23.9.2.592",
"AssemblySemFileVer": "23.9.2.592",
"FullSemVer": "23.9.2-----multiplate-develop.592",
"InformationalVersion": "23.9.2-----multiplate-develop.592+Branch.----multiplate-develop.Sha.cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"SemVer": "23.9.2-----multiplate-develop.593",
"LegacySemVer": "23.9.2-----multiplate-de593",
"LegacySemVerPadded": "23.9.2-----multiplate-d0593",
"AssemblySemVer": "23.9.2.593",
"AssemblySemFileVer": "23.9.2.593",
"FullSemVer": "23.9.2-----multiplate-develop.593",
"InformationalVersion": "23.9.2-----multiplate-develop.593+Branch.----multiplate-develop.Sha.acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"BranchName": "多片机/multiplate-develop",
"EscapedBranchName": "----multiplate-develop",
"Sha": "cc3fcd2e29a0b6ecb494106b5cc05b4758ecb996",
"ShortSha": "cc3fcd2",
"NuGetVersionV2": "23.9.2-----multiplate-d0592",
"NuGetVersion": "23.9.2-----multiplate-d0592",
"NuGetPreReleaseTagV2": "----multiplate-d0592",
"NuGetPreReleaseTag": "----multiplate-d0592",
"Sha": "acb370ddb614cdf83fe7c40f0c7d0ffaab2e3859",
"ShortSha": "acb370d",
"NuGetVersionV2": "23.9.2-----multiplate-d0593",
"NuGetVersion": "23.9.2-----multiplate-d0593",
"NuGetPreReleaseTagV2": "----multiplate-d0593",
"NuGetPreReleaseTag": "----multiplate-d0593",
"VersionSourceSha": "c29389314a6af8abb1346677a53be6fe6b00379e",
"CommitsSinceVersionSource": 592,
"CommitsSinceVersionSourcePadded": "0592",
"UncommittedChanges": 2,
"CommitDate": "2024-06-27"
"CommitsSinceVersionSource": 593,
"CommitsSinceVersionSourcePadded": "0593",
"UncommittedChanges": 0,
"CommitDate": "2024-06-28"
}