1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
<Window x:Class="Flyad7_WPF.Window_sync"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:flyadbase="clr-namespace:FlyADBase;assembly=FlyADBase"
Title="Window_sync" Height="689" Width="1197" Loaded="Window_Loaded" Unloaded="Window_Unloaded">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="512*" />
</Grid.ColumnDefinitions>
<GroupBox Header="基本" Name="groupBox9" Width="194">
<StackPanel Orientation="Vertical">
<StackPanel.Resources>
<Style TargetType="Button">
<Setter Property="Height" Value="23"/>
<Setter Property="Width" Value="80"/>
<Setter Property="Margin" Value="3"/>
</Style>
<Style TargetType="TextBox">
<Setter Property="Height" Value="23"/>
<Setter Property="Width" Value="80"/>
<Setter Property="Margin" Value="3"/>
</Style>
</StackPanel.Resources>
<StackPanel Orientation="Vertical" Margin="3">
<TextBlock HorizontalAlignment="Left" Margin="6" Name="textBlock_pos1LCShift" FontSize="16">
<Run Text="逻辑横向脉冲偏移:"/>
<Run Text="{Binding Pos1LCShift, Mode=OneWay}"/>
</TextBlock>
<StackPanel Orientation="Horizontal">
<Button Content="设置" Click="button_setPos1LCShift_Click" />
<TextBox Text="{Binding Pos1LCShift}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="3">
<StackPanel Orientation="Vertical" Name="textBlock_position2" Margin="4">
<TextBlock HorizontalAlignment="Left" Margin="2" FontSize="16">
<Run Text="POS1脉冲:" />
<Run Text="{Binding Position, Mode=OneWay}" />
</TextBlock>
<TextBlock HorizontalAlignment="Left" Margin="2" FontSize="16">
<Run Text="POS2脉冲:" />
<Run Text="{Binding Position2, Mode=OneWay}" />
</TextBlock>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="3">
<Button Content="纵向偏移设置" Click="button_setPos2Shift_Click" />
<TextBox Text="{Binding Pos2Shift}" />
</StackPanel>
<StackPanel >
<WrapPanel Orientation="Horizontal">
<Button Content="进入同步状态" Click="button_begin2_Click" />
<Button Content="退出同步状态" Click="button_syncEnd_Click" />
<Button Content="清空同步列表" Click="button_clear_Click" />
<Button Content="pos图" Click="button_graph_Click" />
</WrapPanel>
</StackPanel>
<StackPanel Name="textBlock_marker" >
<TextBlock FontSize="16" Margin="2" >
<Run Text="Marker:" />
<Run Text="{Binding Marker, Mode=OneWay}" />
</TextBlock>
<TextBlock FontSize="16" Margin="2" >
<Run Text="运行状态:" />
<Run Text="{Binding DriveStatus, Mode=OneWay}" />
</TextBlock>
<TextBlock FontSize="16" Margin="2" >
<Run Text="运行指令:" />
<Run Text="{Binding DriveOrder, Mode=OneWay}" />
</TextBlock>
<TextBlock FontSize="16" Margin="2" >
<Run Text="同步中:" />
<Run Text="{Binding IsSync, Mode=OneWay}" />
</TextBlock>
</StackPanel>
</StackPanel>
</GroupBox>
<TabControl Margin="5" Name="tabControl1" Width="422" Grid.Column="1">
<TabItem Header="手动" Name="tabItem1">
<Grid>
<StackPanel Orientation="Horizontal">
<StackPanel Width="210">
<GroupBox Header="SyncRunAtLC 同步扫描至" Margin="5" Name="groupBox_syncRunAtLC" >
<Grid>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,7,0,0" Name="textBlock1" Text="开始主轴位置" VerticalAlignment="Top" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,35,0,0" Name="textBlock2" Text="结束主轴位置" VerticalAlignment="Top" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,64,0,0" Name="textBlock3" Text="结束横向逻辑位置" VerticalAlignment="Top" />
<CheckBox Content="脉冲开关" Height="16" HorizontalAlignment="Left" Margin="6,122,0,0" Name="checkBox1" VerticalAlignment="Top" IsChecked="{Binding HasDataGrid}"/>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,93,0,0" Name="textBlock4" Text="命令识标号" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="84,6,0,0" Name="textBox1" VerticalAlignment="Top" Width="98" Text="{Binding Pos2Begin}"/>
<TextBox Height="23" HorizontalAlignment="Left" Margin="84,35,0,0" Name="textBox2" VerticalAlignment="Top" Width="98" Text="{Binding Pos2End}"/>
<TextBox Height="23" HorizontalAlignment="Left" Margin="108,64,0,0" Name="textBox3" VerticalAlignment="Top" Width="74" Text="{Binding Pos1LC}"/>
<TextBox Height="23" HorizontalAlignment="Left" Margin="84,92,0,0" Name="textBox4" VerticalAlignment="Top" Width="98" Text="{Binding Marker}"/>
<Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="106,122,0,0" Name="button_addSyncRunAtLC" VerticalAlignment="Top" Width="75" Click="button_addSyncRunAtLC_Click" />
</Grid>
</GroupBox>
<GroupBox Header="SyncRunToLC 运行至逻辑位置" Margin="5" Name="groupBox_syncRunToLC" >
<Grid>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,39,0,0" Name="textBlock7" Text="横逻辑脉冲位置" VerticalAlignment="Top" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,67,0,0" Name="textBlock10" Text="速度" VerticalAlignment="Top" />
<CheckBox Content="脉冲开关" Height="16" HorizontalAlignment="Left" Margin="4,97,0,0" VerticalAlignment="Top" IsChecked="{Binding HasDataGrid}"/>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,6,0,0" Name="textBlock11" Text="命令识标号" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="108,38,0,0" VerticalAlignment="Top" Width="74" Text="{Binding Pos1}" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="35,67,0,0" VerticalAlignment="Top" Width="147" Text="{Binding Velocity}" />
<TextBox Height="23" HorizontalAlignment="Right" Margin="0,6,6,0" VerticalAlignment="Top" Width="110" Text="{Binding Marker}"/>
<Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="107,97,0,0" Name="button_addSyncRunToLC" VerticalAlignment="Top" Width="75" Click="button_addSyncRunToLC_Click" />
</Grid>
</GroupBox>
<GroupBox Header="SyncRunTo 运行至物理位置" Margin="5" Name="groupBox_syncRunTo" >
<Grid>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,39,0,0" Name="textBlock5" Text="横向物理脉冲位置" VerticalAlignment="Top" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,67,0,0" Name="textBlock6" Text="速度" VerticalAlignment="Top" />
<CheckBox Content="脉冲开关" Height="16" HorizontalAlignment="Left" Margin="4,97,0,0" Name="checkBox2" VerticalAlignment="Top" IsChecked="{Binding HasDataGrid}"/>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,6,0,0" Name="textBlock9" Text="命令识标号" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="108,38,0,0" Name="textBox5" VerticalAlignment="Top" Width="74" Text="{Binding Pos1}"/>
<TextBox Height="23" HorizontalAlignment="Left" Margin="35,67,0,0" Name="textBox6" VerticalAlignment="Top" Width="147" Text="{Binding Velocity}"/>
<TextBox Height="23" HorizontalAlignment="Right" Margin="0,6,6,0" VerticalAlignment="Top" Width="110" Text="{Binding Marker}"/>
<Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="107,97,0,0" Name="button_addSyncRunTo" VerticalAlignment="Top" Width="75" Click="button_addSyncRunTo_Click" />
</Grid>
</GroupBox>
</StackPanel>
<StackPanel Width="210">
<GroupBox Header="SyncOrigin 归零" Margin="5" Name="groupBox_syncOrigin" >
<Grid>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="6,8,0,0" Name="textBlock8" Text="命令识标号" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="84,7,0,0" Name="textBox8" VerticalAlignment="Top" Width="98" Text="{Binding Marker}"/>
<Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="107,35,0,0" Name="button_addSyncOrigin" VerticalAlignment="Top" Width="75" Click="button_addSyncOrigin_Click" />
</Grid>
</GroupBox>
<GroupBox Header="SyncWait 等待,ms" Margin="5" Name="groupBox_syncWait" >
<Grid>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="5,33,0,0" Text="ms" VerticalAlignment="Top" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="5,7,0,0" Text="命令识标号" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="29,33,0,0" VerticalAlignment="Top" Width="153" Text="{Binding MS}"/>
<TextBox Height="23" HorizontalAlignment="Left" Margin="71,6,0,0" VerticalAlignment="Top" Width="110" Text="{Binding Marker}" />
<Button Content="添加" Height="23" HorizontalAlignment="Left" Margin="107,62,0,0" Name="button_addSyncWait" VerticalAlignment="Top" Width="75" Click="button_addSyncWait_Click" />
</Grid>
</GroupBox>
<GroupBox Header="指令列表保存&加载" Margin="5">
<StackPanel>
<Button Content="保存" Height="23" HorizontalAlignment="Left" Margin="5" Width="75" Click="button_save_Click" />
<Button Content="加载" Height="23" HorizontalAlignment="Right" Margin="5" Width="75" Click="button_load_Click" />
</StackPanel>
</GroupBox>
</StackPanel>
</StackPanel>
</Grid>
</TabItem>
<TabItem Header="自动" Name="tabItem2" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<WrapPanel Orientation="Vertical" Height="468">
<WrapPanel.Resources>
<Style TargetType="TextBlock" x:Key="TextBlockStyle_Title">
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Margin" Value="2"/>
</Style>
</WrapPanel.Resources>
<StackPanel Orientation="Vertical" Margin="5" >
<TextBlock Text="膜范围" Style="{StaticResource TextBlockStyle_Title}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="开始" FontSize="18" />
<TextBox Height="23" Margin="3" Width="80" Text="{Binding ScanBegin}"/>
<TextBlock Margin="3" Text="p" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="宽度" FontSize="18" />
<TextBox Height="23" Margin="3" Width="80" Text="{Binding ScanWidth}"/>
<TextBlock Margin="3" Text="p" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" >
<TextBlock Text="样品" Style="{StaticResource TextBlockStyle_Title}"/>
<StackPanel Orientation="Vertical" Name="stackpanel_SamplePos_Backw">
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Text="温修开始" FontSize="18" Margin="3"/>
<TextBox Height="23" Width="80" Margin="3" Text="{Binding Begin}"/>
<TextBlock Margin="3" Text="p" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Text="温修结束" FontSize="18" Margin="3"/>
<TextBox Height="23" Width="80" Margin="3" Text="{Binding End}"/>
<TextBlock Margin="3" Text="p" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Name="stackpanel_SamplePos_Forw">
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Text="样品开始" FontSize="18" Margin="3"/>
<TextBox Height="23" Width="80" Margin="3" Text="{Binding Begin}"/>
<TextBlock Margin="3" Text="p" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Text="样品结束" FontSize="18" Margin="3"/>
<TextBox Height="23" Width="80" Margin="3" Text="{Binding End}"/>
<TextBlock Margin="3" Text="p" />
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" >
<TextBlock Text="速度" Style="{StaticResource TextBlockStyle_Title}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="扫描速度" FontSize="18" />
<TextBox Height="23" Margin="3" Width="80" Text="{Binding Velocity}"/>
<TextBlock Margin="3" Text="p/s" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="样品速度" FontSize="18" />
<TextBox Height="23" Margin="3" Width="80" Text="{Binding VSample}"/>
<TextBlock Margin="3" Text="p/s" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="线速度" FontSize="18" />
<TextBox Height="23" Margin="3" Width="80" Text="{Binding FilmVelocity}"/>
<TextBlock Margin="3" Text="m/min" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="当前速度" FontSize="18" />
<TextBlock Height="23" Margin="3" >
<Run Text="{Binding CurrVelocity,Mode=OneWay,StringFormat={}{0:F1}}"/>
<Run Text="m/min"/>
</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="当前线速度" FontSize="18" />
<TextBlock Height="23" Margin="3" >
<Run Text="{Binding CurrFilmVelocity,Mode=OneWay,StringFormat={}{0:F1}}"/>
<Run Text="m/min"/>
</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="与前机距离" FontSize="18" />
<TextBox Height="23" Margin="3" Width="80" Text="{Binding DistanceWithHeader}"/>
<TextBlock Margin="3" Text="m" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" >
<TextBlock Text="比例" Style="{StaticResource TextBlockStyle_Title}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="编码器1" FontSize="18" />
<TextBox Height="23" Margin="3" Width="80" Text="{Binding Mmpp1}"/>
<TextBlock Margin="3" Text="mm/p" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="编码器2" FontSize="18" />
<TextBox Height="23" Margin="3" Width="80" Text="{Binding Mmpp2}"/>
<TextBlock Margin="3" Text="mm/p" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Text="耗时" Style="{StaticResource TextBlockStyle_Title}"/>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="温修" FontSize="18" />
<TextBox Height="23" Margin="3" Width="40" Text="{Binding ConsumeOfSampleBackw}"/>
<TextBlock Height="23" Margin="3" Text="s" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="样品" FontSize="18" />
<TextBox Height="23" Margin="3" Width="40" Text="{Binding ConsumeOfSampleForw}"/>
<TextBlock Height="23" Margin="3" Text="s" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="扫描" FontSize="18" />
<TextBox Height="23" Margin="3" Width="40" Text="{Binding ConsumeOfScan}"/>
<TextBlock Height="23" Margin="3" Text="s" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="grid等" FontSize="18" />
<TextBox Height="23" Margin="3" Width="40" Text="{Binding ConsumeOfGrid}"/>
<TextBlock Height="23" Margin="3" Text="s" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="样品间隔" FontSize="18" />
<TextBox Height="23" Margin="3" Width="40" Text="{Binding SampleInterval}"/>
<TextBlock Height="23" Margin="3" Text="次" FontSize="18" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" Text="周期测试间隔" FontSize="18" />
<TextBox Height="23" Margin="3" Width="55" Text="{Binding TestInterval}"/>
<TextBlock Height="23" Margin="3" Text="s" FontSize="18" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" FontSize="18" >
<Run Text="测试记数:" />
<Run Text="{Binding TestCnt,Mode=OneWay}" />
<Run Text="s" />
</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Height="23" Margin="3" FontSize="18" >
<Run Text="测试状态:" />
<Run Text="{Binding TestState,Mode=OneWay}" />
</TextBlock>
</StackPanel>
</StackPanel>
<TextBlock HorizontalAlignment="Left" Margin="5" VerticalAlignment="Top" >
<TextBlock.Inlines>
<Run Text="样品累计: " FontSize="16" />
<Run Text="{Binding sampleCount,Mode=OneWay}"/>
<Run Text="
"/>
<Run Text="主轴脉冲: " FontSize="16" />
<Run Text="{Binding last_pos2,Mode=OneWay}"/>
<Run Text="
"/>
<Run Text="温修主轴脉冲消耗: " FontSize="10" />
<Run Text="{Binding Pos2ConsumeOfSampleBackw,Mode=OneWay}"/>
<Run Text="
"/>
<Run Text="样品主轴脉冲消耗: " FontSize="10" />
<Run Text="{Binding Pos2ConsumeOfSampleForw,Mode=OneWay}"/>
<Run Text="
"/>
<Run Text="扫描主轴脉冲消耗: " FontSize="10" />
<Run Text="{Binding Pos2ConsumeOfScan,Mode=OneWay}"/>
<Run Text="
"/>
<Run Text="等待主轴脉冲消耗: " FontSize="10" />
<Run Text="{Binding Pos2ConsumeOfWaitNextScan,Mode=OneWay}"/>
</TextBlock.Inlines>
</TextBlock>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="10" Name="textBlock12" VerticalAlignment="Top" >
<Run Text="{Binding LastOrder,Mode=OneWay}"/>
</TextBlock>
</WrapPanel>
</ScrollViewer>
<WrapPanel Grid.Row="1" Orientation="Horizontal" >
<Button Content="1.初始化" Height="37" Margin="5" Width="90" Click="button_init_Click" FontSize="18" />
<Button Content="2.开始" Height="37" Margin="5" Width="90" Click="button_go_Click" FontSize="18" />
<Button Content="3.停止" Height="37" Margin="5" Width="90" Click="button_stop_Click" FontSize="18" />
<Button Content="4.周期测试" Height="37" Margin="5" Padding="5" Click="button_test_Click" FontSize="18" />
<Button Content="5.测试停止" Height="37" Margin="5" Padding="5" Click="button_teststop_Click" FontSize="18" />
<Button Content="1" Height="37" Margin="5" Width="45" Click="button_pos2sync1_Click" FontSize="18" />
<Button Content="0" Height="37" Margin="5" Width="45" Click="button_pos2sync0_Click" FontSize="18" />
<Button Content="保存数据" Height="37" Margin="5" Padding="5" Click="button_save_autosync_Click" FontSize="18" />
</WrapPanel>
</Grid>
</TabItem>
</TabControl>
<ListBox Name="listView1" Grid.Column="2" Margin="5" >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="textblock_body" Text="{Binding .}" />
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding State}" Value="{x:Static flyadbase:SyncOrderState.Doing}">
<Setter TargetName="textblock_body" Property="Foreground" Value="Red"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Window>