Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit be188147
由
LN
编写于
2021-08-16 16:42:18 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
最新代码提交
1 个父辈
f427b7b6
隐藏空白字符变更
内嵌
并排
正在显示
30 个修改的文件
包含
2324 行增加
和
971 行删除
dll/CodeLibrary.dll
source/ACServoDriveTest/FrmACTest.cs
source/ACSingleStore/ACSingleStore.csproj
source/ACSingleStore/App.config
source/ACSingleStore/FrmAxisDebug.Designer.cs
source/ACSingleStore/FrmAxisDebug.cs
source/ACSingleStore/FrmStoreBox.Designer.cs
source/ACSingleStore/FrmStoreBox.cs
source/ACSingleStore/Properties/Resources.Designer.cs
source/ACSingleStore/Properties/Settings.Designer.cs
source/ACSingleStore/positionTool/FrmPositionTool.Designer.cs
source/ACSingleStore/positionTool/FrmPositionTool.cs
source/ACSingleStore/positionTool/FrmPositionTool.resx
source/ACSingleStore/记录.txt
source/Common/Setting_Init.cs
source/Common/util/AcSerialBean.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/KangNaiDe/KNDAIManager.cs
source/DeviceLibrary/KangNaiDe/KNDManager.cs
source/DeviceLibrary/PanasonicServo/ACCMDManager.cs
source/DeviceLibrary/PanasonicServo/ACServerManager.cs
source/DeviceLibrary/PanasonicServo/ACServerManager_Partial.cs
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
source/DeviceLibrary/acSingleStore/StoreManager.cs
source/DeviceLibrary/halcon/CodeManager.cs
source/DeviceLibrary/store/KTK_Store.cs
source/DeviceLibrary/store/StoreStep.cs
source/LoadCVSLibrary/storeConfig/config/AC_SA_Config.cs
dll/CodeLibrary.dll
查看文件 @
be18814
此文件类型无法预览
source/ACServoDriveTest/FrmACTest.cs
查看文件 @
be18814
...
@@ -126,7 +126,7 @@ namespace ACServoDriveTest
...
@@ -126,7 +126,7 @@ namespace ACServoDriveTest
{
{
//bean.closePort();
//bean.closePort();
ACServerManager
.
ServoOff
(
GetPortName
(),
GetSlaveAddr
());
ACServerManager
.
ServoOff
(
GetPortName
(),
GetSlaveAddr
());
ACServerManager
.
ColsePort
(
GetPortName
()
);
//
ACServerManager.ColsePort(GetPortName() );
formStatus
(
false
);
formStatus
(
false
);
}
}
private
void
Form1_Load
(
object
sender
,
EventArgs
e
)
private
void
Form1_Load
(
object
sender
,
EventArgs
e
)
...
...
source/ACSingleStore/ACSingleStore.csproj
查看文件 @
be18814
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.ACSingleStore</RootNamespace>
<RootNamespace>OnlineStore.ACSingleStore</RootNamespace>
<AssemblyName>ZHACSingleStore</AssemblyName>
<AssemblyName>ZHACSingleStore</AssemblyName>
<TargetFrameworkVersion>v4.
0
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
6.1
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<TargetFrameworkProfile />
</PropertyGroup>
</PropertyGroup>
...
@@ -92,6 +92,12 @@
...
@@ -92,6 +92,12 @@
<DependentUpon>FrmStoreBox.cs</DependentUpon>
<DependentUpon>FrmStoreBox.cs</DependentUpon>
</Compile>
</Compile>
<Compile Include="ManagerUtil.cs" />
<Compile Include="ManagerUtil.cs" />
<Compile Include="positionTool\FrmPositionTool.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="positionTool\FrmPositionTool.Designer.cs">
<DependentUpon>FrmPositionTool.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="FrmAxisDebug.resx">
<EmbeddedResource Include="FrmAxisDebug.resx">
...
@@ -109,6 +115,9 @@
...
@@ -109,6 +115,9 @@
<EmbeddedResource Include="FrmStoreBox.resx">
<EmbeddedResource Include="FrmStoreBox.resx">
<DependentUpon>FrmStoreBox.cs</DependentUpon>
<DependentUpon>FrmStoreBox.cs</DependentUpon>
</EmbeddedResource>
</EmbeddedResource>
<EmbeddedResource Include="positionTool\FrmPositionTool.resx">
<DependentUpon>FrmPositionTool.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
...
@@ -128,79 +137,6 @@
...
@@ -128,79 +137,6 @@
<DependentUpon>Settings.settings</DependentUpon>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</Compile>
<None Include="Skins\back\DeepCyan.ssk" />
<None Include="Skins\back\DeepGreen.ssk" />
<None Include="Skins\back\DeepOrange.ssk" />
<None Include="Skins\Calmness.ssk" />
<None Include="Skins\CalmnessColor1.ssk" />
<None Include="Skins\CalmnessColor2.ssk" />
<None Include="Skins\DiamondBlue.ssk" />
<None Include="Skins\DiamondGreen.ssk" />
<None Include="Skins\DiamondOlive.ssk" />
<None Include="Skins\DiamondPurple.ssk" />
<None Include="Skins\DiamondRed.ssk" />
<None Include="Skins\Eighteen.ssk" />
<None Include="Skins\EighteenColor1.ssk" />
<None Include="Skins\EighteenColor2.ssk" />
<None Include="Skins\Emerald.ssk" />
<None Include="Skins\EmeraldColor1.ssk" />
<None Include="Skins\EmeraldColor2.ssk" />
<None Include="Skins\EmeraldColor3.ssk" />
<None Include="Skins\GlassBrown.ssk" />
<None Include="Skins\GlassGreen.ssk" />
<None Include="Skins\GlassOrange.ssk" />
<None Include="Skins\Longhorn.ssk" />
<None Include="Skins\MacOS.ssk" />
<None Include="Skins\Midsummer.ssk" />
<None Include="Skins\MidsummerColor1.ssk" />
<None Include="Skins\MidsummerColor2.ssk" />
<None Include="Skins\MidsummerColor3.ssk" />
<None Include="Skins\mp10.ssk" />
<None Include="Skins\mp10green.ssk" />
<None Include="Skins\mp10maroon.ssk" />
<None Include="Skins\mp10mulberry.ssk" />
<None Include="Skins\mp10pink.ssk" />
<None Include="Skins\mp10purple.ssk" />
<None Include="Skins\MSN.ssk" />
<None Include="Skins\office2007.ssk" />
<None Include="Skins\OneBlue.ssk" />
<None Include="Skins\OneCyan.ssk" />
<None Include="Skins\OneGreen.ssk" />
<None Include="Skins\OneOrange.ssk" />
<None Include="Skins\Page.ssk" />
<None Include="Skins\PageColor1.ssk" />
<None Include="Skins\PageColor2.ssk" />
<None Include="Skins\RealOne.ssk" />
<None Include="Skins\Silver.ssk" />
<None Include="Skins\SilverColor1.ssk" />
<None Include="Skins\SilverColor2.ssk" />
<None Include="Skins\SportsBlack.ssk" />
<None Include="Skins\SportsBlue.ssk" />
<None Include="Skins\SportsCyan.ssk" />
<None Include="Skins\SportsGreen.ssk" />
<None Include="Skins\SportsOrange.ssk" />
<None Include="Skins\SteelBlack.ssk" />
<None Include="Skins\SteelBlue.ssk" />
<None Include="Skins\vista1.ssk" />
<None Include="Skins\vista1_green.ssk" />
<None Include="Skins\Vista2_color1.ssk" />
<None Include="Skins\Vista2_color2.ssk" />
<None Include="Skins\Vista2_color3.ssk" />
<None Include="Skins\Vista2_color4.ssk" />
<None Include="Skins\Vista2_color5.ssk" />
<None Include="Skins\Vista2_color6.ssk" />
<None Include="Skins\Vista2_color7.ssk" />
<None Include="Skins\Warm.ssk" />
<None Include="Skins\WarmColor1.ssk" />
<None Include="Skins\WarmColor2.ssk" />
<None Include="Skins\WarmColor3.ssk" />
<None Include="Skins\Wave.ssk" />
<None Include="Skins\WaveColor1.ssk" />
<None Include="Skins\WaveColor2.ssk" />
<None Include="Skins\XPBlue.ssk" />
<None Include="Skins\XPGreen.ssk" />
<None Include="Skins\XPOrange.ssk" />
<None Include="Skins\XPSilver.ssk" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<None Include="App.config">
<None Include="App.config">
...
...
source/ACSingleStore/App.config
查看文件 @
be18814
<?
xml
version
=
"1.0"
?>
<?
xml
version
=
"1.0"
?>
<
configuration
>
<
configuration
>
<
configSections
>
<
configSections
>
<
section
name
=
"log4net"
type
=
"log4net.Config.Log4NetConfigurationSectionHandler,log4net"
/>
<
section
name
=
"log4net"
type
=
"log4net.Config.Log4NetConfigurationSectionHandler,log4net"
/>
</
configSections
>
</
configSections
>
<
appSettings
>
<
appSettings
>
<!--是否开机自动启动料仓-->
<!--是否开机自动启动料仓-->
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_Title"
value
=
"AC_SA_料仓_1"
/>
<
add
key
=
"App_Title"
value
=
"AC_SA_料仓_1"
/>
<
add
key
=
"scanner_start_command"
value
=
"S"
/>
<
add
key
=
"scanner_start_command"
value
=
"S"
/>
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<
add
key
=
"StopBlowValue"
value
=
"4"
/>
<
add
key
=
"StopBlowValue"
value
=
"4"
/>
<!--
Server
address
-->
<!--
Server
address
-->
<!--<
add
key
=
"http.server"
value
=
"http://localhost:80/"
/>-->
<!--<
add
key
=
"http.server"
value
=
"http://localhost:80/"
/>-->
<!--
storeType
-->
<!--
storeType
-->
<
add
key
=
"store_count"
value
=
"1"
/>
<
add
key
=
"store_count"
value
=
"1"
/>
<!--
start
one
store
config
-->
<!--
start
one
store
config
-->
<
add
key
=
"Store_Position_Config"
value
=
"\StoreConfig\AC\linePositions.csv"
/>
<
add
key
=
"Store_Position_Config"
value
=
"\StoreConfig\AC\linePositions.csv"
/>
<
add
key
=
"Store_ConfigPath"
value
=
"\StoreConfig\AC\StoreConfig.csv"
/>
<
add
key
=
"Store_ConfigPath"
value
=
"\StoreConfig\AC\StoreConfig.csv"
/>
<
add
key
=
"Store_Type"
value
=
"RC_AC_SA"
/>
<
add
key
=
"Store_Type"
value
=
"RC_AC_SA"
/>
<
add
key
=
"Store_CID"
value
=
"zhac1"
/>
<
add
key
=
"Store_CID"
value
=
"zhac1"
/>
<!--
end
one
store
config
-->
<!--
end
one
store
config
-->
<!--摄像机名称列表配置,用
#分割-->
<!--摄像机名称列表配置,用
#分割-->
<
add
key
=
"CameraName"
value
=
"GigE:MV-CE100-30GC (00C69898484)"
/>
<
add
key
=
"CameraName"
value
=
"GigE:MV-CE100-30GC (00C69898484)"
/>
<!--二维码类型列表配置,用
#分割,一维码=Barcode。-->
<!--二维码类型列表配置,用
#分割,一维码=Barcode。-->
<
add
key
=
"CodeType"
value
=
"Barcode"
/>
<
add
key
=
"CodeType"
value
=
"Barcode"
/>
<!--<
add
key
=
"CodeType"
value
=
"Data Matrix ECC 200"
/>-->
<!--<
add
key
=
"CodeType"
value
=
"Data Matrix ECC 200"
/>-->
<!--二维码参数文件所在路径,文件名与二维码类型名一样-->
<!--二维码参数文件所在路径,文件名与二维码类型名一样-->
<
add
key
=
"CodeParamPath"
value
=
"\CodeParam\"
/>
<
add
key
=
"CodeParamPath"
value
=
"\CodeParam\"
/>
<
add
key
=
"AI_ConvertPosition"
value
=
"55"
/>
<
add
key
=
"AI_ConvertPosition"
value
=
"55"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<!--出库等待料盘拿走的时间,秒-->
<!--出库等待料盘拿走的时间,秒-->
<
add
key
=
"OutStoreWaitSeconds"
value
=
"600"
/>
<
add
key
=
"OutStoreWaitSeconds"
value
=
"600"
/>
<!--压紧轴对应
4
mm
的脉冲-->
<!--压紧轴对应
4
mm
的脉冲-->
<
add
key
=
"ComAxisChangeValue"
value
=
"2400"
/>
<
add
key
=
"ComAxisChangeValue"
value
=
"2400"
/>
<!--伺服波特率-->
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
</
appSettings
>
</
appSettings
>
<
log4net
>
<
log4net
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/ZHACStore1.log"
/>
<
file
value
=
"logs/ZHACStore1.log"
/>
<
appendToFile
value
=
"true"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
layout
>
</
appender
>
</
appender
>
<
root
>
<
root
>
<
level
value
=
"Info"
/>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
</
root
>
</
root
>
</
log4net
>
</
log4net
>
<
startup
>
<
startup
>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.
0"
/>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.
6.1"
/>
</
startup
>
</
startup
>
<!-- 部署服务库项目时,必须将配置文件的内容添加到
<!-- 部署服务库项目时,必须将配置文件的内容添加到
主机的
app
.
config
文件中。
System
.
Configuration
不支持库的配置文件。 -->
主机的
app
.
config
文件中。
System
.
Configuration
不支持库的配置文件。 -->
...
@@ -63,14 +65,14 @@
...
@@ -63,14 +65,14 @@
<
service
name
=
"AcStoreWCF.CWSMDBox"
>
<
service
name
=
"AcStoreWCF.CWSMDBox"
>
<
endpoint
address
=
""
binding
=
"basicHttpBinding"
contract
=
"AcStoreWCF.ICWSMDBox"
>
<
endpoint
address
=
""
binding
=
"basicHttpBinding"
contract
=
"AcStoreWCF.ICWSMDBox"
>
<
identity
>
<
identity
>
<
dns
value
=
"localhost"
/>
<
dns
value
=
"localhost"
/>
</
identity
>
</
identity
>
</
endpoint
>
</
endpoint
>
<
endpoint
address
=
"mex"
binding
=
"mexHttpBinding"
contract
=
"IMetadataExchange"
/>
<
endpoint
address
=
"mex"
binding
=
"mexHttpBinding"
contract
=
"IMetadataExchange"
/>
<
host
>
<
host
>
<
baseAddresses
>
<
baseAddresses
>
<
add
baseAddress
=
"http://localhost:8733/Design_Time_Addresses/AcStoreWCF/CWSMDBox/"
/>
<
add
baseAddress
=
"http://localhost:8733/Design_Time_Addresses/AcStoreWCF/CWSMDBox/"
/>
</
baseAddresses
>
</
baseAddresses
>
</
host
>
</
host
>
</
service
>
</
service
>
...
@@ -80,13 +82,13 @@
...
@@ -80,13 +82,13 @@
<
behavior
>
<
behavior
>
<!-- 为避免泄漏元数据信息,
<!-- 为避免泄漏元数据信息,
请在部署前将以下值设置为
false
-->
请在部署前将以下值设置为
false
-->
<
serviceMetadata
httpGetEnabled
=
"True"
httpsGetEnabled
=
"True"
/>
<
serviceMetadata
httpGetEnabled
=
"True"
httpsGetEnabled
=
"True"
/>
<!-- 要接收故障异常详细信息以进行调试,
<!-- 要接收故障异常详细信息以进行调试,
请将以下值设置为
true
。在部署前设置为
false
请将以下值设置为
true
。在部署前设置为
false
以避免泄漏异常信息 -->
以避免泄漏异常信息 -->
<
serviceDebug
includeExceptionDetailInFaults
=
"False"
/>
<
serviceDebug
includeExceptionDetailInFaults
=
"False"
/>
</
behavior
>
</
behavior
>
</
serviceBehaviors
>
</
serviceBehaviors
>
</
behaviors
>
</
behaviors
>
</
system
.
serviceModel
>
</
system
.
serviceModel
>
</
configuration
>
\ No newline at end of file
\ No newline at end of file
</
configuration
>
source/ACSingleStore/FrmAxisDebug.Designer.cs
查看文件 @
be18814
...
@@ -54,12 +54,19 @@
...
@@ -54,12 +54,19 @@
this
.
btnComMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnComMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtComSpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtComSpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label4
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label4
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblSpeed
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
trackBar1
=
new
System
.
Windows
.
Forms
.
TrackBar
();
this
.
btnMCopy
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnUCopy
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnICopy
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnCCopy
=
new
System
.
Windows
.
Forms
.
Button
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
trackBar1
)).
BeginInit
();
this
.
SuspendLayout
();
this
.
SuspendLayout
();
//
//
// label1
// label1
//
//
this
.
label1
.
AutoSize
=
true
;
this
.
label1
.
AutoSize
=
true
;
this
.
label1
.
Location
=
new
System
.
Drawing
.
Point
(
39
,
7
7
);
this
.
label1
.
Location
=
new
System
.
Drawing
.
Point
(
39
,
7
9
);
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
92
,
17
);
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
92
,
17
);
this
.
label1
.
TabIndex
=
0
;
this
.
label1
.
TabIndex
=
0
;
...
@@ -68,7 +75,7 @@
...
@@ -68,7 +75,7 @@
// label2
// label2
//
//
this
.
label2
.
AutoSize
=
true
;
this
.
label2
.
AutoSize
=
true
;
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
39
,
13
1
);
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
39
,
13
6
);
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
92
,
17
);
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
92
,
17
);
this
.
label2
.
TabIndex
=
1
;
this
.
label2
.
TabIndex
=
1
;
...
@@ -77,7 +84,7 @@
...
@@ -77,7 +84,7 @@
// label3
// label3
//
//
this
.
label3
.
AutoSize
=
true
;
this
.
label3
.
AutoSize
=
true
;
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
39
,
1
8
4
);
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
39
,
1
9
4
);
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
92
,
17
);
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
92
,
17
);
this
.
label3
.
TabIndex
=
2
;
this
.
label3
.
TabIndex
=
2
;
...
@@ -86,9 +93,11 @@
...
@@ -86,9 +93,11 @@
// btnMiddleMove
// btnMiddleMove
//
//
this
.
btnMiddleMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnMiddleMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnMiddleMove
.
Location
=
new
System
.
Drawing
.
Point
(
266
,
70
);
this
.
btnMiddleMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMiddleMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnMiddleMove
.
Location
=
new
System
.
Drawing
.
Point
(
246
,
65
);
this
.
btnMiddleMove
.
Name
=
"btnMiddleMove"
;
this
.
btnMiddleMove
.
Name
=
"btnMiddleMove"
;
this
.
btnMiddleMove
.
Size
=
new
System
.
Drawing
.
Size
(
1
31
,
36
);
this
.
btnMiddleMove
.
Size
=
new
System
.
Drawing
.
Size
(
1
40
,
45
);
this
.
btnMiddleMove
.
TabIndex
=
4
;
this
.
btnMiddleMove
.
TabIndex
=
4
;
this
.
btnMiddleMove
.
Text
=
"旋转轴+(顺时针)"
;
this
.
btnMiddleMove
.
Text
=
"旋转轴+(顺时针)"
;
this
.
btnMiddleMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnMiddleMove
.
UseVisualStyleBackColor
=
false
;
...
@@ -97,31 +106,42 @@
...
@@ -97,31 +106,42 @@
//
//
// txtMiddleSpeed
// txtMiddleSpeed
//
//
this
.
txtMiddleSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
150
,
75
);
this
.
txtMiddleSpeed
.
Enabled
=
false
;
this
.
txtMiddleSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtMiddleSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
140
,
74
);
this
.
txtMiddleSpeed
.
MaxLength
=
10
;
this
.
txtMiddleSpeed
.
Name
=
"txtMiddleSpeed"
;
this
.
txtMiddleSpeed
.
Name
=
"txtMiddleSpeed"
;
this
.
txtMiddleSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
23
);
this
.
txtMiddleSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
97
,
26
);
this
.
txtMiddleSpeed
.
TabIndex
=
5
;
this
.
txtMiddleSpeed
.
TabIndex
=
5
;
//
//
// txtUpDownSpeed
// txtUpDownSpeed
//
//
this
.
txtUpDownSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
150
,
129
);
this
.
txtUpDownSpeed
.
Enabled
=
false
;
this
.
txtUpDownSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtUpDownSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
140
,
131
);
this
.
txtUpDownSpeed
.
MaxLength
=
10
;
this
.
txtUpDownSpeed
.
Name
=
"txtUpDownSpeed"
;
this
.
txtUpDownSpeed
.
Name
=
"txtUpDownSpeed"
;
this
.
txtUpDownSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
23
);
this
.
txtUpDownSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
97
,
26
);
this
.
txtUpDownSpeed
.
TabIndex
=
6
;
this
.
txtUpDownSpeed
.
TabIndex
=
6
;
//
//
// txtInOutSpeed
// txtInOutSpeed
//
//
this
.
txtInOutSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
150
,
182
);
this
.
txtInOutSpeed
.
Enabled
=
false
;
this
.
txtInOutSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtInOutSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
140
,
189
);
this
.
txtInOutSpeed
.
MaxLength
=
10
;
this
.
txtInOutSpeed
.
Name
=
"txtInOutSpeed"
;
this
.
txtInOutSpeed
.
Name
=
"txtInOutSpeed"
;
this
.
txtInOutSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
23
);
this
.
txtInOutSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
97
,
26
);
this
.
txtInOutSpeed
.
TabIndex
=
7
;
this
.
txtInOutSpeed
.
TabIndex
=
7
;
//
//
// btnUpDownMove
// btnUpDownMove
//
//
this
.
btnUpDownMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnUpDownMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnUpDownMove
.
Location
=
new
System
.
Drawing
.
Point
(
266
,
124
);
this
.
btnUpDownMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnUpDownMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnUpDownMove
.
Location
=
new
System
.
Drawing
.
Point
(
246
,
122
);
this
.
btnUpDownMove
.
Name
=
"btnUpDownMove"
;
this
.
btnUpDownMove
.
Name
=
"btnUpDownMove"
;
this
.
btnUpDownMove
.
Size
=
new
System
.
Drawing
.
Size
(
1
31
,
36
);
this
.
btnUpDownMove
.
Size
=
new
System
.
Drawing
.
Size
(
1
40
,
45
);
this
.
btnUpDownMove
.
TabIndex
=
9
;
this
.
btnUpDownMove
.
TabIndex
=
9
;
this
.
btnUpDownMove
.
Text
=
"升降轴+(上升)"
;
this
.
btnUpDownMove
.
Text
=
"升降轴+(上升)"
;
this
.
btnUpDownMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnUpDownMove
.
UseVisualStyleBackColor
=
false
;
...
@@ -131,9 +151,11 @@
...
@@ -131,9 +151,11 @@
// btnInOutMove
// btnInOutMove
//
//
this
.
btnInOutMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInOutMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInOutMove
.
Location
=
new
System
.
Drawing
.
Point
(
266
,
177
);
this
.
btnInOutMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnInOutMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnInOutMove
.
Location
=
new
System
.
Drawing
.
Point
(
246
,
180
);
this
.
btnInOutMove
.
Name
=
"btnInOutMove"
;
this
.
btnInOutMove
.
Name
=
"btnInOutMove"
;
this
.
btnInOutMove
.
Size
=
new
System
.
Drawing
.
Size
(
1
31
,
36
);
this
.
btnInOutMove
.
Size
=
new
System
.
Drawing
.
Size
(
1
40
,
45
);
this
.
btnInOutMove
.
TabIndex
=
10
;
this
.
btnInOutMove
.
TabIndex
=
10
;
this
.
btnInOutMove
.
Text
=
"进出轴+(前进)"
;
this
.
btnInOutMove
.
Text
=
"进出轴+(前进)"
;
this
.
btnInOutMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnInOutMove
.
UseVisualStyleBackColor
=
false
;
...
@@ -143,9 +165,11 @@
...
@@ -143,9 +165,11 @@
// btnInOutMovej
// btnInOutMovej
//
//
this
.
btnInOutMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInOutMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInOutMovej
.
Location
=
new
System
.
Drawing
.
Point
(
401
,
177
);
this
.
btnInOutMovej
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnInOutMovej
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnInOutMovej
.
Location
=
new
System
.
Drawing
.
Point
(
395
,
180
);
this
.
btnInOutMovej
.
Name
=
"btnInOutMovej"
;
this
.
btnInOutMovej
.
Name
=
"btnInOutMovej"
;
this
.
btnInOutMovej
.
Size
=
new
System
.
Drawing
.
Size
(
1
31
,
36
);
this
.
btnInOutMovej
.
Size
=
new
System
.
Drawing
.
Size
(
1
40
,
45
);
this
.
btnInOutMovej
.
TabIndex
=
14
;
this
.
btnInOutMovej
.
TabIndex
=
14
;
this
.
btnInOutMovej
.
Text
=
"进出轴-(后退)"
;
this
.
btnInOutMovej
.
Text
=
"进出轴-(后退)"
;
this
.
btnInOutMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnInOutMovej
.
UseVisualStyleBackColor
=
false
;
...
@@ -155,9 +179,11 @@
...
@@ -155,9 +179,11 @@
// btnUpDownMovej
// btnUpDownMovej
//
//
this
.
btnUpDownMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnUpDownMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnUpDownMovej
.
Location
=
new
System
.
Drawing
.
Point
(
401
,
124
);
this
.
btnUpDownMovej
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnUpDownMovej
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnUpDownMovej
.
Location
=
new
System
.
Drawing
.
Point
(
395
,
122
);
this
.
btnUpDownMovej
.
Name
=
"btnUpDownMovej"
;
this
.
btnUpDownMovej
.
Name
=
"btnUpDownMovej"
;
this
.
btnUpDownMovej
.
Size
=
new
System
.
Drawing
.
Size
(
1
31
,
36
);
this
.
btnUpDownMovej
.
Size
=
new
System
.
Drawing
.
Size
(
1
40
,
45
);
this
.
btnUpDownMovej
.
TabIndex
=
13
;
this
.
btnUpDownMovej
.
TabIndex
=
13
;
this
.
btnUpDownMovej
.
Text
=
"升降轴-(下降)"
;
this
.
btnUpDownMovej
.
Text
=
"升降轴-(下降)"
;
this
.
btnUpDownMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnUpDownMovej
.
UseVisualStyleBackColor
=
false
;
...
@@ -167,9 +193,11 @@
...
@@ -167,9 +193,11 @@
// btnMiddleMovej
// btnMiddleMovej
//
//
this
.
btnMiddleMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnMiddleMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnMiddleMovej
.
Location
=
new
System
.
Drawing
.
Point
(
401
,
70
);
this
.
btnMiddleMovej
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMiddleMovej
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnMiddleMovej
.
Location
=
new
System
.
Drawing
.
Point
(
395
,
65
);
this
.
btnMiddleMovej
.
Name
=
"btnMiddleMovej"
;
this
.
btnMiddleMovej
.
Name
=
"btnMiddleMovej"
;
this
.
btnMiddleMovej
.
Size
=
new
System
.
Drawing
.
Size
(
1
31
,
36
);
this
.
btnMiddleMovej
.
Size
=
new
System
.
Drawing
.
Size
(
1
40
,
45
);
this
.
btnMiddleMovej
.
TabIndex
=
12
;
this
.
btnMiddleMovej
.
TabIndex
=
12
;
this
.
btnMiddleMovej
.
Text
=
"旋转轴-(逆时针)"
;
this
.
btnMiddleMovej
.
Text
=
"旋转轴-(逆时针)"
;
this
.
btnMiddleMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnMiddleMovej
.
UseVisualStyleBackColor
=
false
;
...
@@ -178,7 +206,8 @@
...
@@ -178,7 +206,8 @@
//
//
// button1
// button1
//
//
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
401
,
336
);
this
.
button1
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
569
,
347
);
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
126
,
37
);
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
126
,
37
);
this
.
button1
.
TabIndex
=
16
;
this
.
button1
.
TabIndex
=
16
;
...
@@ -188,23 +217,32 @@
...
@@ -188,23 +217,32 @@
//
//
// txtInOutPosition
// txtInOutPosition
//
//
this
.
txtInOutPosition
.
Location
=
new
System
.
Drawing
.
Point
(
551
,
182
);
this
.
txtInOutPosition
.
Enabled
=
false
;
this
.
txtInOutPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtInOutPosition
.
Location
=
new
System
.
Drawing
.
Point
(
544
,
189
);
this
.
txtInOutPosition
.
MaxLength
=
20
;
this
.
txtInOutPosition
.
Name
=
"txtInOutPosition"
;
this
.
txtInOutPosition
.
Name
=
"txtInOutPosition"
;
this
.
txtInOutPosition
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
2
3
);
this
.
txtInOutPosition
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
2
6
);
this
.
txtInOutPosition
.
TabIndex
=
19
;
this
.
txtInOutPosition
.
TabIndex
=
19
;
//
//
// txtUpdownPosition
// txtUpdownPosition
//
//
this
.
txtUpdownPosition
.
Location
=
new
System
.
Drawing
.
Point
(
551
,
129
);
this
.
txtUpdownPosition
.
Enabled
=
false
;
this
.
txtUpdownPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtUpdownPosition
.
Location
=
new
System
.
Drawing
.
Point
(
544
,
131
);
this
.
txtUpdownPosition
.
MaxLength
=
20
;
this
.
txtUpdownPosition
.
Name
=
"txtUpdownPosition"
;
this
.
txtUpdownPosition
.
Name
=
"txtUpdownPosition"
;
this
.
txtUpdownPosition
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
2
3
);
this
.
txtUpdownPosition
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
2
6
);
this
.
txtUpdownPosition
.
TabIndex
=
18
;
this
.
txtUpdownPosition
.
TabIndex
=
18
;
//
//
// txtMiddlePosition
// txtMiddlePosition
//
//
this
.
txtMiddlePosition
.
Location
=
new
System
.
Drawing
.
Point
(
551
,
75
);
this
.
txtMiddlePosition
.
Enabled
=
false
;
this
.
txtMiddlePosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtMiddlePosition
.
Location
=
new
System
.
Drawing
.
Point
(
544
,
74
);
this
.
txtMiddlePosition
.
MaxLength
=
20
;
this
.
txtMiddlePosition
.
Name
=
"txtMiddlePosition"
;
this
.
txtMiddlePosition
.
Name
=
"txtMiddlePosition"
;
this
.
txtMiddlePosition
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
2
3
);
this
.
txtMiddlePosition
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
2
6
);
this
.
txtMiddlePosition
.
TabIndex
=
17
;
this
.
txtMiddlePosition
.
TabIndex
=
17
;
//
//
// label5
// label5
...
@@ -232,19 +270,24 @@
...
@@ -232,19 +270,24 @@
//
//
// txtComPosition
// txtComPosition
//
//
this
.
txtComPosition
.
Location
=
new
System
.
Drawing
.
Point
(
551
,
240
);
this
.
txtComPosition
.
Enabled
=
false
;
this
.
txtComPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtComPosition
.
Location
=
new
System
.
Drawing
.
Point
(
544
,
249
);
this
.
txtComPosition
.
MaxLength
=
20
;
this
.
txtComPosition
.
Name
=
"txtComPosition"
;
this
.
txtComPosition
.
Name
=
"txtComPosition"
;
this
.
txtComPosition
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
2
3
);
this
.
txtComPosition
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
2
6
);
this
.
txtComPosition
.
TabIndex
=
26
;
this
.
txtComPosition
.
TabIndex
=
26
;
//
//
// btnComMovej
// btnComMovej
//
//
this
.
btnComMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnComMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnComMovej
.
Location
=
new
System
.
Drawing
.
Point
(
401
,
235
);
this
.
btnComMovej
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnComMovej
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnComMovej
.
Location
=
new
System
.
Drawing
.
Point
(
395
,
240
);
this
.
btnComMovej
.
Name
=
"btnComMovej"
;
this
.
btnComMovej
.
Name
=
"btnComMovej"
;
this
.
btnComMovej
.
Size
=
new
System
.
Drawing
.
Size
(
1
31
,
36
);
this
.
btnComMovej
.
Size
=
new
System
.
Drawing
.
Size
(
1
40
,
45
);
this
.
btnComMovej
.
TabIndex
=
25
;
this
.
btnComMovej
.
TabIndex
=
25
;
this
.
btnComMovej
.
Text
=
"压紧轴-(向
下
)"
;
this
.
btnComMovej
.
Text
=
"压紧轴-(向
上
)"
;
this
.
btnComMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnComMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnComMovej
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMovej_MouseDown
);
this
.
btnComMovej
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMovej_MouseDown
);
this
.
btnComMovej
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMovej_MouseUp
);
this
.
btnComMovej
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMovej_MouseUp
);
...
@@ -252,36 +295,111 @@
...
@@ -252,36 +295,111 @@
// btnComMove
// btnComMove
//
//
this
.
btnComMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnComMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnComMove
.
Location
=
new
System
.
Drawing
.
Point
(
266
,
235
);
this
.
btnComMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnComMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnComMove
.
Location
=
new
System
.
Drawing
.
Point
(
246
,
240
);
this
.
btnComMove
.
Name
=
"btnComMove"
;
this
.
btnComMove
.
Name
=
"btnComMove"
;
this
.
btnComMove
.
Size
=
new
System
.
Drawing
.
Size
(
1
31
,
36
);
this
.
btnComMove
.
Size
=
new
System
.
Drawing
.
Size
(
1
40
,
45
);
this
.
btnComMove
.
TabIndex
=
24
;
this
.
btnComMove
.
TabIndex
=
24
;
this
.
btnComMove
.
Text
=
"压紧轴+(向
上
)"
;
this
.
btnComMove
.
Text
=
"压紧轴+(向
下
)"
;
this
.
btnComMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnComMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnComMove
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMove_MouseDown
);
this
.
btnComMove
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMove_MouseDown
);
this
.
btnComMove
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMove_MouseUp
);
this
.
btnComMove
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMove_MouseUp
);
//
//
// txtComSpeed
// txtComSpeed
//
//
this
.
txtComSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
150
,
240
);
this
.
txtComSpeed
.
Enabled
=
false
;
this
.
txtComSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtComSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
140
,
249
);
this
.
txtComSpeed
.
MaxLength
=
10
;
this
.
txtComSpeed
.
Name
=
"txtComSpeed"
;
this
.
txtComSpeed
.
Name
=
"txtComSpeed"
;
this
.
txtComSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
23
);
this
.
txtComSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
97
,
26
);
this
.
txtComSpeed
.
TabIndex
=
23
;
this
.
txtComSpeed
.
TabIndex
=
23
;
//
//
// label4
// label4
//
//
this
.
label4
.
AutoSize
=
true
;
this
.
label4
.
AutoSize
=
true
;
this
.
label4
.
Location
=
new
System
.
Drawing
.
Point
(
39
,
2
42
);
this
.
label4
.
Location
=
new
System
.
Drawing
.
Point
(
39
,
2
54
);
this
.
label4
.
Name
=
"label4"
;
this
.
label4
.
Name
=
"label4"
;
this
.
label4
.
Size
=
new
System
.
Drawing
.
Size
(
92
,
17
);
this
.
label4
.
Size
=
new
System
.
Drawing
.
Size
(
92
,
17
);
this
.
label4
.
TabIndex
=
22
;
this
.
label4
.
TabIndex
=
22
;
this
.
label4
.
Text
=
"(轴四)压紧轴"
;
this
.
label4
.
Text
=
"(轴四)压紧轴"
;
//
//
// lblSpeed
//
this
.
lblSpeed
.
AutoSize
=
true
;
this
.
lblSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
313
,
377
);
this
.
lblSpeed
.
Name
=
"lblSpeed"
;
this
.
lblSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
142
,
17
);
this
.
lblSpeed
.
TabIndex
=
30
;
this
.
lblSpeed
.
Text
=
"点动速度=0.2倍目标速度"
;
//
// trackBar1
//
this
.
trackBar1
.
LargeChange
=
2
;
this
.
trackBar1
.
Location
=
new
System
.
Drawing
.
Point
(
42
,
328
);
this
.
trackBar1
.
Minimum
=
1
;
this
.
trackBar1
.
Name
=
"trackBar1"
;
this
.
trackBar1
.
Size
=
new
System
.
Drawing
.
Size
(
366
,
45
);
this
.
trackBar1
.
TabIndex
=
29
;
this
.
trackBar1
.
Value
=
2
;
this
.
trackBar1
.
ValueChanged
+=
new
System
.
EventHandler
(
this
.
trackBar1_ValueChanged
);
//
// btnMCopy
//
this
.
btnMCopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMCopy
.
Location
=
new
System
.
Drawing
.
Point
(
661
,
73
);
this
.
btnMCopy
.
Name
=
"btnMCopy"
;
this
.
btnMCopy
.
Size
=
new
System
.
Drawing
.
Size
(
69
,
28
);
this
.
btnMCopy
.
TabIndex
=
31
;
this
.
btnMCopy
.
Text
=
"复制"
;
this
.
btnMCopy
.
UseVisualStyleBackColor
=
true
;
this
.
btnMCopy
.
Click
+=
new
System
.
EventHandler
(
this
.
btnMCopy_Click
);
//
// btnUCopy
//
this
.
btnUCopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnUCopy
.
Location
=
new
System
.
Drawing
.
Point
(
661
,
130
);
this
.
btnUCopy
.
Name
=
"btnUCopy"
;
this
.
btnUCopy
.
Size
=
new
System
.
Drawing
.
Size
(
69
,
28
);
this
.
btnUCopy
.
TabIndex
=
32
;
this
.
btnUCopy
.
Text
=
"复制"
;
this
.
btnUCopy
.
UseVisualStyleBackColor
=
true
;
this
.
btnUCopy
.
Click
+=
new
System
.
EventHandler
(
this
.
btnUCopy_Click
);
//
// btnICopy
//
this
.
btnICopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnICopy
.
Location
=
new
System
.
Drawing
.
Point
(
661
,
188
);
this
.
btnICopy
.
Name
=
"btnICopy"
;
this
.
btnICopy
.
Size
=
new
System
.
Drawing
.
Size
(
69
,
28
);
this
.
btnICopy
.
TabIndex
=
33
;
this
.
btnICopy
.
Text
=
"复制"
;
this
.
btnICopy
.
UseVisualStyleBackColor
=
true
;
this
.
btnICopy
.
Click
+=
new
System
.
EventHandler
(
this
.
btnICopy_Click
);
//
// btnCCopy
//
this
.
btnCCopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnCCopy
.
Location
=
new
System
.
Drawing
.
Point
(
661
,
248
);
this
.
btnCCopy
.
Name
=
"btnCCopy"
;
this
.
btnCCopy
.
Size
=
new
System
.
Drawing
.
Size
(
69
,
28
);
this
.
btnCCopy
.
TabIndex
=
34
;
this
.
btnCCopy
.
Text
=
"复制"
;
this
.
btnCCopy
.
UseVisualStyleBackColor
=
true
;
this
.
btnCCopy
.
Click
+=
new
System
.
EventHandler
(
this
.
btnCCopy_Click
);
//
// FrmAxisDebug
// FrmAxisDebug
//
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
7F
,
17F
);
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
7F
,
17F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Font
;
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Font
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
707
,
413
);
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
805
,
442
);
this
.
Controls
.
Add
(
this
.
btnCCopy
);
this
.
Controls
.
Add
(
this
.
btnICopy
);
this
.
Controls
.
Add
(
this
.
btnUCopy
);
this
.
Controls
.
Add
(
this
.
btnMCopy
);
this
.
Controls
.
Add
(
this
.
lblSpeed
);
this
.
Controls
.
Add
(
this
.
trackBar1
);
this
.
Controls
.
Add
(
this
.
txtComPosition
);
this
.
Controls
.
Add
(
this
.
txtComPosition
);
this
.
Controls
.
Add
(
this
.
btnComMovej
);
this
.
Controls
.
Add
(
this
.
btnComMovej
);
this
.
Controls
.
Add
(
this
.
btnComMove
);
this
.
Controls
.
Add
(
this
.
btnComMove
);
...
@@ -312,6 +430,7 @@
...
@@ -312,6 +430,7 @@
this
.
Text
=
"轴点动调试"
;
this
.
Text
=
"轴点动调试"
;
this
.
Load
+=
new
System
.
EventHandler
(
this
.
FrmAxisDebug_Load
);
this
.
Load
+=
new
System
.
EventHandler
(
this
.
FrmAxisDebug_Load
);
this
.
Shown
+=
new
System
.
EventHandler
(
this
.
FrmAxisDebug_Shown
);
this
.
Shown
+=
new
System
.
EventHandler
(
this
.
FrmAxisDebug_Shown
);
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
trackBar1
)).
EndInit
();
this
.
ResumeLayout
(
false
);
this
.
ResumeLayout
(
false
);
this
.
PerformLayout
();
this
.
PerformLayout
();
...
@@ -343,5 +462,11 @@
...
@@ -343,5 +462,11 @@
private
System
.
Windows
.
Forms
.
Button
btnComMove
;
private
System
.
Windows
.
Forms
.
Button
btnComMove
;
private
System
.
Windows
.
Forms
.
TextBox
txtComSpeed
;
private
System
.
Windows
.
Forms
.
TextBox
txtComSpeed
;
private
System
.
Windows
.
Forms
.
Label
label4
;
private
System
.
Windows
.
Forms
.
Label
label4
;
private
System
.
Windows
.
Forms
.
Label
lblSpeed
;
private
System
.
Windows
.
Forms
.
TrackBar
trackBar1
;
private
System
.
Windows
.
Forms
.
Button
btnMCopy
;
private
System
.
Windows
.
Forms
.
Button
btnUCopy
;
private
System
.
Windows
.
Forms
.
Button
btnICopy
;
private
System
.
Windows
.
Forms
.
Button
btnCCopy
;
}
}
}
}
\ No newline at end of file
\ No newline at end of file
source/ACSingleStore/FrmAxisDebug.cs
查看文件 @
be18814
...
@@ -23,17 +23,19 @@ namespace OnlineStore.ACSingleStore
...
@@ -23,17 +23,19 @@ namespace OnlineStore.ACSingleStore
private
ConfigMoveAxis
updown
=
null
;
private
ConfigMoveAxis
updown
=
null
;
//private ConfigMoveAxis compress = null;
//private ConfigMoveAxis compress = null;
private
ConfigMoveAxis
inout
=
null
;
private
ConfigMoveAxis
inout
=
null
;
private
int
compress_Slv
=
0
;
private
ConfigMoveAxis
comp
=
null
;
//private int compress_Slv = 0;
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
FrmAxisDebug
(
AC_SA_BoxBean
boxBean
)
public
FrmAxisDebug
(
AC_SA_BoxBean
boxBean
)
{
{
middle
=
boxBean
.
Config
.
Middle_Axis
;
middle
=
boxBean
.
Config
.
Middle_Axis
;
updown
=
boxBean
.
Config
.
UpDown_Axis
;
updown
=
boxBean
.
Config
.
UpDown_Axis
;
compress_Slv
=
boxBean
.
Config
.
CompressAxis_Slv
;
//compress_Slv = boxBean.Config.CompressAxis_Slv;
comp
=
boxBean
.
Config
.
Comp_Axis
;
inout
=
boxBean
.
Config
.
InOut_Axis
;
inout
=
boxBean
.
Config
.
InOut_Axis
;
InitializeComponent
();
InitializeComponent
();
txtComSpeed
.
Text
=
boxBean
.
Config
.
CompressAxis_EndSpeed
.
ToString
();
this
.
Text
=
boxBean
.
StoreName
+
"_轴点动调试"
;
this
.
Text
=
boxBean
.
StoreName
+
"_轴点动调试"
;
}
}
...
@@ -44,11 +46,11 @@ namespace OnlineStore.ACSingleStore
...
@@ -44,11 +46,11 @@ namespace OnlineStore.ACSingleStore
}
}
private
void
FrmAxisDebug_Load
(
object
sender
,
EventArgs
e
)
private
void
FrmAxisDebug_Load
(
object
sender
,
EventArgs
e
)
{
{
txtMiddleSpeed
.
Text
=
(
middle
.
TargetSpeed
/
5
).
ToString
();
txtMiddleSpeed
.
Text
=
(
middle
.
TargetSpeed
/
5
).
ToString
();
txtInOutSpeed
.
Text
=
(
inout
.
TargetSpeed
/
5
).
ToString
();
txtInOutSpeed
.
Text
=
(
inout
.
TargetSpeed
/
5
).
ToString
();
txtUpDownSpeed
.
Text
=
(
updown
.
TargetSpeed
/
5
).
ToString
();
txtUpDownSpeed
.
Text
=
(
updown
.
TargetSpeed
/
5
).
ToString
();
txtComSpeed
.
Text
=
(
StoreManager
.
Config
.
CompressAxis_End
Speed
/
5
).
ToString
();
txtComSpeed
.
Text
=
(
comp
.
Target
Speed
/
5
).
ToString
();
timer1
.
Start
();
timer1
.
Start
();
}
}
/// <summary>
/// <summary>
...
@@ -246,28 +248,26 @@ namespace OnlineStore.ACSingleStore
...
@@ -246,28 +248,26 @@ namespace OnlineStore.ACSingleStore
}
}
private
void
btnComMove_MouseDown
(
object
sender
,
MouseEventArgs
e
)
private
void
btnComMove_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
{
int
speed
=
FormUtil
.
GetIntValue
(
txtComSpeed
);
if
(
btnComMove
.
BackColor
.
Equals
(
System
.
Drawing
.
SystemColors
.
Control
))
if
(
speed
<=
0
)
{
{
MessageBox
.
Show
(
"提示"
,
"请先输入正确的速度"
);
int
speed
=
FormUtil
.
GetIntValue
(
txtComSpeed
);
return
;
if
(
speed
<=
0
)
{
MessageBox
.
Show
(
"提示"
,
"请先输入正确的速度"
);
return
;
}
this
.
btnComMove
.
BackColor
=
Color
.
Green
;
AxisMove
(
comp
,
speed
);
}
}
this
.
btnComMove
.
BackColor
=
Color
.
Green
;
ShuoKeControls
.
SetSpeed
(
compress_Slv
,
ShuoKeCMD
.
SetEndSpeed
,
speed
);
ShuoKeControls
.
SetSpeed
(
compress_Slv
,
ShuoKeCMD
.
SetMaxSpeed
,
speed
);
ShuoKeControls
.
VolMove
(
compress_Slv
,
speed
);
}
}
private
void
btnComMove_MouseUp
(
object
sender
,
MouseEventArgs
e
)
private
void
btnComMove_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
{
if
(
this
.
btnComMove
.
BackColor
==
Color
.
Green
)
if
(
this
.
btnComMove
.
BackColor
==
Color
.
Green
)
{
{
btnComMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
btnComMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ShuoKeControls
.
SuddownStop
(
compress_Slv
);
ACServerManager
.
SuddenStop
(
comp
.
DeviceName
,
comp
.
GetAxisValue
());
// ShuoKeControls.GetABSPosition(compress_Slv);
UpdateCompPosition
();
txtComPosition
.
Text
=
ShuoKeControls
.
GetABSPosition
(
compress_Slv
).
ToString
();
}
}
}
}
private
void
btnComMovej_MouseDown
(
object
sender
,
MouseEventArgs
e
)
private
void
btnComMovej_MouseDown
(
object
sender
,
MouseEventArgs
e
)
...
@@ -279,19 +279,16 @@ namespace OnlineStore.ACSingleStore
...
@@ -279,19 +279,16 @@ namespace OnlineStore.ACSingleStore
return
;
return
;
}
}
this
.
btnComMovej
.
BackColor
=
Color
.
Green
;
this
.
btnComMovej
.
BackColor
=
Color
.
Green
;
ShuoKeControls
.
SetSpeed
(
compress_Slv
,
ShuoKeCMD
.
SetEndSpeed
,
speed
);
AxisMove
(
comp
,
-
speed
);
ShuoKeControls
.
SetSpeed
(
compress_Slv
,
ShuoKeCMD
.
SetMaxSpeed
,
speed
);
ShuoKeControls
.
VolMove
(
compress_Slv
,-
speed
);
}
}
private
void
btnComMovej_MouseUp
(
object
sender
,
MouseEventArgs
e
)
private
void
btnComMovej_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
{
if
(
btnComMovej
.
BackColor
.
Equals
(
Color
.
Green
))
if
(
btnComMovej
.
BackColor
.
Equals
(
Color
.
Green
))
{
{
btnComMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
btnComMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ShuoKeControls
.
SuddownStop
(
compress_Slv
);
ACServerManager
.
SuddenStop
(
comp
.
DeviceName
,
comp
.
GetAxisValue
());
// ShuoKeControls.GetABSPosition(compress_Slv);
UpdateCompPosition
();
txtComPosition
.
Text
=
ShuoKeControls
.
GetABSPosition
(
compress_Slv
).
ToString
();
}
}
}
}
...
@@ -302,8 +299,7 @@ namespace OnlineStore.ACSingleStore
...
@@ -302,8 +299,7 @@ namespace OnlineStore.ACSingleStore
private
void
FrmAxisDebug_Shown
(
object
sender
,
EventArgs
e
)
private
void
FrmAxisDebug_Shown
(
object
sender
,
EventArgs
e
)
{
{
SetSkin
(
this
);
}
}
private
void
timer1_Tick
(
object
sender
,
EventArgs
e
)
private
void
timer1_Tick
(
object
sender
,
EventArgs
e
)
...
@@ -313,22 +309,18 @@ namespace OnlineStore.ACSingleStore
...
@@ -313,22 +309,18 @@ namespace OnlineStore.ACSingleStore
UpdateMiddlePosition
();
UpdateMiddlePosition
();
UpdateInOutPosition
();
UpdateInOutPosition
();
UpdateUpdownPosition
();
UpdateUpdownPosition
();
UpdateCompPosition
();
txtComPosition
.
Text
=
ShuoKeControls
.
GetABSPosition
(
compress_Slv
).
ToString
();
// txtComPosition.Text = ShuoKeControls.GetLastPosition(compress_Slv).ToString();
}
//ShuoKeInfo info = ShuoKeControls.GetLastPosition(compress_Slv);
}
//if (info != null)
private
void
UpdateCompPosition
()
//{
{
// txtComPosition.Text = info.LastPosition.ToString();
int
compPosition
=
ACServerManager
.
GetTargetPosition
(
comp
.
DeviceName
,
comp
.
GetAxisValue
());
// TimeSpan span = DateTime.Now - info.UpdateTime;
if
(!
txtComPosition
.
Text
.
Equals
(
compPosition
.
ToString
()))
// if (span.TotalSeconds > 1.5)
{
// {
txtComPosition
.
Text
=
compPosition
.
ToString
();
// ShuoKeControls.GetABSPosition(compress_Slv);
// }
//}
}
}
}
}
private
void
UpdateUpdownPosition
()
private
void
UpdateUpdownPosition
()
{
{
int
updownPosition
=
ACServerManager
.
GetTargetPosition
(
updown
.
DeviceName
,
updown
.
GetAxisValue
());
int
updownPosition
=
ACServerManager
.
GetTargetPosition
(
updown
.
DeviceName
,
updown
.
GetAxisValue
());
...
@@ -355,5 +347,35 @@ namespace OnlineStore.ACSingleStore
...
@@ -355,5 +347,35 @@ namespace OnlineStore.ACSingleStore
txtInOutPosition
.
Text
=
inoutPosition
.
ToString
();
txtInOutPosition
.
Text
=
inoutPosition
.
ToString
();
}
}
}
}
private
void
trackBar1_ValueChanged
(
object
sender
,
EventArgs
e
)
{
int
value
=
trackBar1
.
Value
;
lblSpeed
.
Text
=
"点动速度="
+
(
value
/
10f
)
+
"倍目标速度"
;
txtMiddleSpeed
.
Text
=
(
middle
.
TargetSpeed
*
value
/
10
).
ToString
();
txtInOutSpeed
.
Text
=
(
inout
.
TargetSpeed
*
value
/
10
).
ToString
();
txtUpDownSpeed
.
Text
=
(
updown
.
TargetSpeed
*
value
/
10
).
ToString
();
txtComSpeed
.
Text
=
(
comp
.
TargetSpeed
*
value
/
10
).
ToString
();
}
private
void
btnMCopy_Click
(
object
sender
,
EventArgs
e
)
{
Clipboard
.
SetDataObject
(
txtMiddlePosition
.
Text
,
true
);
}
private
void
btnUCopy_Click
(
object
sender
,
EventArgs
e
)
{
Clipboard
.
SetDataObject
(
txtUpdownPosition
.
Text
,
true
);
}
private
void
btnICopy_Click
(
object
sender
,
EventArgs
e
)
{
Clipboard
.
SetDataObject
(
txtInOutPosition
.
Text
,
true
);
}
private
void
btnCCopy_Click
(
object
sender
,
EventArgs
e
)
{
Clipboard
.
SetDataObject
(
txtComPosition
.
Text
,
true
);
}
}
}
}
}
source/ACSingleStore/FrmStoreBox.Designer.cs
查看文件 @
be18814
此文件的差异太大,无法显示。
source/ACSingleStore/FrmStoreBox.cs
查看文件 @
be18814
...
@@ -17,6 +17,7 @@ using OnlineStore.DeviceLibrary;
...
@@ -17,6 +17,7 @@ using OnlineStore.DeviceLibrary;
using
System.IO.Ports
;
using
System.IO.Ports
;
using
OnlineStore.LoadCSVLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
CodeLibrary
;
using
CodeLibrary
;
using
UserFromControl
;
namespace
OnlineStore.ACSingleStore
namespace
OnlineStore.ACSingleStore
{
{
...
@@ -46,7 +47,7 @@ namespace OnlineStore.ACSingleStore
...
@@ -46,7 +47,7 @@ namespace OnlineStore.ACSingleStore
LogUtil
.
error
(
LOGGER
,
"找不到对应的料仓"
);
LogUtil
.
error
(
LOGGER
,
"找不到对应的料仓"
);
return
;
return
;
}
}
txtSpeed
.
Text
=
store
.
Config
.
CompressAxis_EndSpeed
.
ToString
();
//
txtSpeed.Text = store.Config.CompressAxis_EndSpeed.ToString();
cmbAxisList
.
DataSource
=
new
List
<
ConfigMoveAxis
>(
store
.
moveAxisList
);
cmbAxisList
.
DataSource
=
new
List
<
ConfigMoveAxis
>(
store
.
moveAxisList
);
cmbAxisList
.
DisplayMember
=
"Explain"
;
cmbAxisList
.
DisplayMember
=
"Explain"
;
cmbAxisList
.
ValueMember
=
"Explain"
;
cmbAxisList
.
ValueMember
=
"Explain"
;
...
@@ -89,13 +90,13 @@ namespace OnlineStore.ACSingleStore
...
@@ -89,13 +90,13 @@ namespace OnlineStore.ACSingleStore
//txtUpDownP1.Text = ktkPosition.UpDownAxis_DoorOPosition_P1.ToString();
//txtUpDownP1.Text = ktkPosition.UpDownAxis_DoorOPosition_P1.ToString();
}
}
List
<
string
>
port
=
new
List
<
string
>(
SerialPort
.
GetPortNames
());
//
List<string> port = new List<string>(SerialPort.GetPortNames());
comboBoxPortName
.
DataSource
=
port
;
//
comboBoxPortName.DataSource = port;
if
(
port
.
IndexOf
(
store
.
Config
.
CompressAxis_PortName
)
>=
0
)
//
if (port.IndexOf(store.Config.CompressAxis_PortName) >= 0)
{
//
{
comboBoxPortName
.
SelectedIndex
=
port
.
IndexOf
(
store
.
Config
.
CompressAxis_PortName
);
//
comboBoxPortName.SelectedIndex = port.IndexOf(store.Config.CompressAxis_PortName);
}
//
}
cmbHomeType
.
SelectedIndex
=
0
;
//
cmbHomeType.SelectedIndex = 0;
timer1
.
Enabled
=
true
;
timer1
.
Enabled
=
true
;
}
}
#
endregion
#
endregion
...
@@ -149,7 +150,7 @@ namespace OnlineStore.ACSingleStore
...
@@ -149,7 +150,7 @@ namespace OnlineStore.ACSingleStore
this
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
this
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
notifyIcon1
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
notifyIcon1
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
LoadOk
=
true
;
LoadOk
=
true
;
cmbHomeType
.
SelectedIndex
=
1
;
//
cmbHomeType.SelectedIndex = 1;
HideForm
();
HideForm
();
}
}
private
DateTime
preReadModblsTime
=
DateTime
.
Now
;
private
DateTime
preReadModblsTime
=
DateTime
.
Now
;
...
@@ -166,25 +167,7 @@ namespace OnlineStore.ACSingleStore
...
@@ -166,25 +167,7 @@ namespace OnlineStore.ACSingleStore
//忙碌状态不读取状态
//忙碌状态不读取状态
if
(!
store
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Busy
))
if
(!
store
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Busy
))
{
{
if
(
chbAutoRead
.
Checked
)
{
string
portName
=
GetPortName
();
int
SlvAddr
=
GetSlaveAddr
();
//判断私服是否打开、
if
(
ACServerManager
.
ServerOnStatus
(
portName
,
SlvAddr
))
{
lblServerOn
.
Text
=
"伺服ON"
;
int
lOutPulse
=
ACServerManager
.
GetTargetPosition
(
portName
,
SlvAddr
);
lblOutPulse
.
Text
=
string
.
Format
(
"{0:d}"
,
lOutPulse
);
int
lCountPulse
=
ACServerManager
.
GetActualtPosition
(
portName
,
SlvAddr
);
lblCountPulse
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse
);
}
else
{
lblServerOn
.
Text
=
"伺服OFF"
;
}
}
}
}
//ReadPosistion();
//ReadPosistion();
...
@@ -292,94 +275,8 @@ namespace OnlineStore.ACSingleStore
...
@@ -292,94 +275,8 @@ namespace OnlineStore.ACSingleStore
// btnCloseWCF.Enabled = false ;
// btnCloseWCF.Enabled = false ;
//}
//}
}
}
private
void
ReadPosistion
()
{
string
portName
=
GetPortName
();
int
SlvAddr
=
GetSlaveAddr
();
//判断私服是否打开、
if
(
ACServerManager
.
ServerOnStatus
(
portName
,
SlvAddr
))
{
lblServerOn
.
Text
=
"伺服ON"
;
}
else
{
lblServerOn
.
Text
=
"伺服OFF"
;
}
string
deviceName
=
GetPortName
();
if
(
ACServerManager
.
ServerOnStatus
(
store
.
Config
.
Middle_Axis
.
DeviceName
,
store
.
Config
.
Middle_Axis
.
GetAxisValue
()))
{
axis_1_Alarm
.
IOValue
=
ACServerManager
.
GetAlarmStatus
(
store
.
Config
.
Middle_Axis
.
DeviceName
,
store
.
Config
.
Middle_Axis
.
GetAxisValue
());
axis_1_Alarm
.
ShowData
();
int
lOutPulse1
=
ACServerManager
.
GetTargetPosition
(
store
.
Config
.
Middle_Axis
.
DeviceName
,
store
.
Config
.
Middle_Axis
.
GetAxisValue
());
lblOutPulse1
.
Text
=
string
.
Format
(
"{0:d}"
,
lOutPulse1
);
int
lCountPulse1
=
ACServerManager
.
GetActualtPosition
(
store
.
Config
.
Middle_Axis
.
DeviceName
,
store
.
Config
.
Middle_Axis
.
GetAxisValue
());
lblCountPulse1
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse1
);
txtMiddleTarget
.
Text
=
store
.
Config
.
Middle_Axis
.
TargetPosition
.
ToString
();
if
(
store
.
Config
.
Middle_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
{
lblOutPulse
.
Text
=
lblOutPulse1
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse1
.
Text
;
}
}
if
(
ACServerManager
.
ServerOnStatus
(
store
.
Config
.
UpDown_Axis
.
DeviceName
,
store
.
Config
.
UpDown_Axis
.
GetAxisValue
()))
{
axis_2_Alarm
.
IOValue
=
ACServerManager
.
GetAlarmStatus
(
store
.
Config
.
UpDown_Axis
.
DeviceName
,
store
.
Config
.
UpDown_Axis
.
GetAxisValue
());
axis_2_Alarm
.
ShowData
();
int
lOutPulse2
=
ACServerManager
.
GetTargetPosition
(
store
.
Config
.
UpDown_Axis
.
DeviceName
,
store
.
Config
.
UpDown_Axis
.
GetAxisValue
());
lblOutPulse2
.
Text
=
string
.
Format
(
"{0:d}"
,
lOutPulse2
);
int
lCountPulse2
=
ACServerManager
.
GetActualtPosition
(
store
.
Config
.
UpDown_Axis
.
DeviceName
,
store
.
Config
.
UpDown_Axis
.
GetAxisValue
());
lblCountPulse2
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse2
);
txtInoutTarget
.
Text
=
store
.
Config
.
InOut_Axis
.
TargetPosition
.
ToString
();
if
(
store
.
Config
.
UpDown_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
{
lblOutPulse
.
Text
=
lblOutPulse2
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse2
.
Text
;
}
}
if
(
ACServerManager
.
ServerOnStatus
(
store
.
Config
.
InOut_Axis
.
DeviceName
,
store
.
Config
.
InOut_Axis
.
GetAxisValue
()))
{
axis_3_Alarm
.
IOValue
=
ACServerManager
.
GetAlarmStatus
(
store
.
Config
.
InOut_Axis
.
DeviceName
,
store
.
Config
.
InOut_Axis
.
GetAxisValue
());
int
lOutPulse3
=
ACServerManager
.
GetTargetPosition
(
store
.
Config
.
InOut_Axis
.
DeviceName
,
store
.
Config
.
InOut_Axis
.
GetAxisValue
());
lblOutPulse3
.
Text
=
string
.
Format
(
"{0:d}"
,
lOutPulse3
);
int
lCountPulse3
=
ACServerManager
.
GetActualtPosition
(
store
.
Config
.
InOut_Axis
.
DeviceName
,
store
.
Config
.
InOut_Axis
.
GetAxisValue
());
lblCountPulse3
.
Text
=
string
.
Format
(
"{0:d}"
,
lCountPulse3
);
txtUpdownTarget
.
Text
=
store
.
Config
.
UpDown_Axis
.
TargetPosition
.
ToString
();
if
(
store
.
Config
.
InOut_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
{
lblOutPulse
.
Text
=
lblOutPulse3
.
Text
;
lblCountPulse
.
Text
=
lblCountPulse3
.
Text
;
}
}
}
private
void
Bt_ClearCounter_Click
(
object
sender
,
EventArgs
e
)
{
string
portName
=
txtAxisDeviceName
.
Text
;
short
SlvAddr
=
FormUtil
.
GetShortValue
(
txtAxisValue
);
//KTKSMCManager.WSetCountPulse(portName, SlvAddr, 0);
//KTKSMCManager.WSetOutPulse(portName, SlvAddr, 0);
}
private
void
FunctionFail
(
System
.
Int32
ReturnCode
)
{
if
(
ReturnCode
!=
0
)
{
MessageBox
.
Show
(
"错误码:"
+
ReturnCode
.
ToString
(),
""
,
MessageBoxButtons
.
OK
);
LogUtil
.
error
(
LOGGER
,
"错误码:"
+
ReturnCode
.
ToString
());
}
}
private
void
FunctionFail
(
string
funName
,
System
.
Int32
ReturnCode
)
{
if
(
ReturnCode
!=
0
)
{
MessageBox
.
Show
(
"方法:"
+
funName
+
",错误码:"
+
ReturnCode
.
ToString
(),
""
,
MessageBoxButtons
.
OK
);
LogUtil
.
error
(
LOGGER
,
"方法:"
+
funName
+
",错误码:"
+
ReturnCode
.
ToString
());
}
}
private
void
FrmTest_FormClosing
(
object
sender
,
FormClosingEventArgs
e
)
private
void
FrmTest_FormClosing
(
object
sender
,
FormClosingEventArgs
e
)
{
{
if
(
e
.
CloseReason
==
CloseReason
.
UserClosing
)
//当用户点击窗体右上角X按钮或(Alt + F4)时 发生
if
(
e
.
CloseReason
==
CloseReason
.
UserClosing
)
//当用户点击窗体右上角X按钮或(Alt + F4)时 发生
...
@@ -864,19 +761,19 @@ namespace OnlineStore.ACSingleStore
...
@@ -864,19 +761,19 @@ namespace OnlineStore.ACSingleStore
private
void
btnComP2_Click
(
object
sender
,
EventArgs
e
)
private
void
btnComP2_Click
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
FormUtil
.
GetIntValue
(
txtComP2
);
int
value
=
FormUtil
.
GetIntValue
(
txtComP2
);
ShuoKeControls
.
AbsMove
(
store
.
Config
.
CompressAxis_Slv
,
value
);
AxisABSMove
(
store
.
Config
.
Comp_Axis
,
value
,
store
.
Config
.
CompAxis_P2_Speed
);
}
}
private
void
btnComP1_Click
(
object
sender
,
EventArgs
e
)
private
void
btnComP1_Click
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
FormUtil
.
GetIntValue
(
txtComP1
);
int
value
=
FormUtil
.
GetIntValue
(
txtComP1
);
ShuoKeControls
.
AbsMove
(
store
.
Config
.
CompressAxis_Slv
,
value
);
AxisABSMove
(
store
.
Config
.
Comp_Axis
,
value
,
store
.
Config
.
CompAxis_P1_Speed
);
}
}
private
void
btnComP3_Click
(
object
sender
,
EventArgs
e
)
private
void
btnComP3_Click
(
object
sender
,
EventArgs
e
)
{
{
int
value
=
FormUtil
.
GetIntValue
(
txtComP3
);
int
value
=
FormUtil
.
GetIntValue
(
txtComP3
);
ShuoKeControls
.
AbsMove
(
store
.
Config
.
CompressAxis_Slv
,
value
);
AxisABSMove
(
store
.
Config
.
Comp_Axis
,
value
,
store
.
Config
.
CompAxis_P3_Speed
);
}
}
int
xWidth
=
SystemInformation
.
PrimaryMonitorSize
.
Width
;
//获取显示器屏幕宽度
int
xWidth
=
SystemInformation
.
PrimaryMonitorSize
.
Width
;
//获取显示器屏幕宽度
int
yHeight
=
SystemInformation
.
PrimaryMonitorSize
.
Height
;
//高度
int
yHeight
=
SystemInformation
.
PrimaryMonitorSize
.
Height
;
//高度
...
@@ -1236,11 +1133,12 @@ namespace OnlineStore.ACSingleStore
...
@@ -1236,11 +1133,12 @@ namespace OnlineStore.ACSingleStore
{
{
stop_button_Click
(
null
,
null
);
stop_button_Click
(
null
,
null
);
}
}
CodeManager
.
CloseCamera
();
CodeManager
.
Close
All
Camera
();
KNDManager
.
CloseAllDO
();
KNDManager
.
CloseAllDO
();
StoreOpenStatus
(
false
);
StoreOpenStatus
(
false
);
KNDManager
.
CloseAllConnection
();
KNDManager
.
CloseAllConnection
();
KNDAIManager
.
CloseAllConnection
();
KNDAIManager
.
CloseAllConnection
();
ACServerManager
.
CloseAllPort
();
//WCFControl.CloseWCF();
//WCFControl.CloseWCF();
System
.
Environment
.
Exit
(
System
.
Environment
.
ExitCode
);
System
.
Environment
.
Exit
(
System
.
Environment
.
ExitCode
);
}
}
...
@@ -1280,9 +1178,6 @@ namespace OnlineStore.ACSingleStore
...
@@ -1280,9 +1178,6 @@ namespace OnlineStore.ACSingleStore
ExitApp
();
ExitApp
();
}
}
}
}
private
void
学习二维码
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
学习二维码
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
store
.
KNDIOMove
(
IO_Type
.
CameraLight_Power
,
IO_VALUE
.
HIGH
);
store
.
KNDIOMove
(
IO_Type
.
CameraLight_Power
,
IO_VALUE
.
HIGH
);
...
@@ -1296,71 +1191,7 @@ namespace OnlineStore.ACSingleStore
...
@@ -1296,71 +1191,7 @@ namespace OnlineStore.ACSingleStore
int
value
=
ACServerManager
.
GetHomeSingle
(
GetPortName
(),
GetSlaveAddr
());
int
value
=
ACServerManager
.
GetHomeSingle
(
GetPortName
(),
GetSlaveAddr
());
this
.
txtHomeSingle
.
Text
=
value
.
ToString
();
this
.
txtHomeSingle
.
Text
=
value
.
ToString
();
}
}
private
void
btnOpen_Click
(
object
sender
,
EventArgs
e
)
{
if
(
StoreManager
.
OpenShuoKe
(
store
))
{
store
.
SetShuokeSpeed
();
FormComStatus
(
true
);
}
}
private
void
btnClose_Click
(
object
sender
,
EventArgs
e
)
{
ShuoKeControls
.
ClosePort
();
FormComStatus
(
false
);
}
private
void
btnVolMove_Click
(
object
sender
,
EventArgs
e
)
{
int
speed
=
FormUtil
.
GetIntValue
(
txtSpeed
);
ShuoKeControls
.
VolMove
(
store
.
Config
.
CompressAxis_Slv
,
speed
);
}
private
void
btnGetPosition_Click
(
object
sender
,
EventArgs
e
)
{
int
value
=
ShuoKeControls
.
GetABSPosition
(
store
.
Config
.
CompressAxis_Slv
);
lblShuoKeMsg
.
Text
=
DateTime
.
Now
.
ToLongTimeString
()
+
"实时位置:"
+
value
;
}
private
void
btnStop_Click
(
object
sender
,
EventArgs
e
)
{
ShuoKeControls
.
SuddownStop
(
this
.
store
.
Config
.
CompressAxis_Slv
);
}
private
void
btnClearPosition_Click
(
object
sender
,
EventArgs
e
)
{
ShuoKeControls
.
PositionClear
(
this
.
store
.
Config
.
CompressAxis_Slv
,
ShuoKeCMD
.
AbsPositionClear
);
ShuoKeControls
.
PositionClear
(
this
.
store
.
Config
.
CompressAxis_Slv
,
ShuoKeCMD
.
RelPositionClear
);
}
private
void
btnHomeMove_Click
(
object
sender
,
EventArgs
e
)
{
ShuoKeControls
.
HomeMove
(
this
.
store
.
Config
.
CompressAxis_Slv
,
byte
.
Parse
(
cmbHomeType
.
SelectedIndex
.
ToString
()));
}
private
void
btnLineAbsMove_Click
(
object
sender
,
EventArgs
e
)
{
int
posi
=
FormUtil
.
GetIntValue
(
txtLinePosition
);
ShuoKeControls
.
AbsMove
(
this
.
store
.
Config
.
CompressAxis_Slv
,
posi
);
}
private
void
btnRelMove_Click
(
object
sender
,
EventArgs
e
)
{
int
posi
=
FormUtil
.
GetIntValue
(
txtLinePosition
);
ShuoKeControls
.
RelativeMove
(
this
.
store
.
Config
.
CompressAxis_Slv
,
posi
);
}
private
void
btnStatusSearch_Click
(
object
sender
,
EventArgs
e
)
{
ShuoKeInfo
info
=
ShuoKeControls
.
GetStatus
(
store
.
Config
.
CompressAxis_Slv
);
lblShuoKeMsg
.
Text
=
info
.
ToShowStr
();
}
private
void
FormComStatus
(
bool
isOpen
)
{
btnOpen
.
Enabled
=
!
isOpen
;
btnClose
.
Enabled
=
isOpen
;
btnClearPosition
.
Enabled
=
isOpen
;
btnVolMove
.
Enabled
=
isOpen
;
btnGetPosition
.
Enabled
=
isOpen
;
btnHomeMove
.
Enabled
=
isOpen
;
btnLineAbsMove
.
Enabled
=
isOpen
;
btnStatusSearch
.
Enabled
=
isOpen
;
// Bt_ClearCounter.Enabled = isOpen;
}
private
void
groupBox2_Enter
(
object
sender
,
EventArgs
e
)
private
void
groupBox2_Enter
(
object
sender
,
EventArgs
e
)
{
{
...
@@ -1420,25 +1251,106 @@ namespace OnlineStore.ACSingleStore
...
@@ -1420,25 +1251,106 @@ namespace OnlineStore.ACSingleStore
}
}
}
}
private
void
btnH_Click
(
object
sender
,
EventArgs
e
)
//private void btnH_Click(object sender, EventArgs e)
//{
// string portName = txtAxisDeviceName.Text;
// short SlvAddr = FormUtil.GetShortValue(txtAxisValue);
// if (store.Config.InOut_Axis.IsSameAxis(portName, SlvAddr) && (store.InOutAxisCanMove().Equals(false)))
// {
// MessageBox.Show("定位气缸不在下降端,不能移动进出轴", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
// return;
// }
// else if (store.Config.Middle_Axis.IsSameAxis(portName, SlvAddr) || store.Config.UpDown_Axis.IsSameAxis(portName, SlvAddr))
// {
// if (!InOutIsIsP1())
// {
// return;
// }
// }
// LogUtil.info("点击【正方向原点返回】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
// ACServerManager.ZhHomeMove(portName, SlvAddr);
//}
private
void
btnGetAlarm_Click_1
(
object
sender
,
EventArgs
e
)
{
{
string
p
ortName
=
txtAxisDeviceName
.
Text
;
string
P
ortName
=
txtAxisDeviceName
.
Text
;
short
SlvAddr
=
FormUtil
.
GetShortValue
(
txtAxisValue
);
short
SlvAddr
=
FormUtil
.
GetShortValue
(
txtAxisValue
);
if
(
store
.
Config
.
InOut_Axis
.
IsSameAxis
(
portName
,
SlvAddr
)
&&
(
store
.
InOutAxisCanMove
().
Equals
(
false
)))
txtServoStatue
.
Text
=
ACServerManager
.
ServerOnStatus
(
PortName
,
SlvAddr
)
?
"✔"
:
"✘"
;
this
.
txtAlarmStatus
.
Text
=
ACServerManager
.
GetAlarmStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtBusyStatus
.
Text
=
ACServerManager
.
GetBusyStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtHomeStatus
.
Text
=
ACServerManager
.
GetHomeEndStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtHomeSingle
.
Text
=
ACServerManager
.
GetHomeSingle
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtLimit1
.
Text
=
ACServerManager
.
GetLimitPositiveSingle
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtLimit2
.
Text
=
ACServerManager
.
GetLimitNegativeSingle
(
PortName
,
SlvAddr
).
ToString
();
}
private
void
button1_Click_2
(
object
sender
,
EventArgs
e
)
{
string
portName
=
txtAxisDeviceName
.
Text
;
short
slvAddr
=
FormUtil
.
GetShortValue
(
txtAxisValue
);
LogUtil
.
info
(
"点击【清理报警】,端口号【"
+
portName
+
"】地址【"
+
slvAddr
+
"】 "
);
ACServerManager
.
AlarmClear
(
portName
,
slvAddr
);
Thread
.
Sleep
(
100
);
ACServerManager
.
ServoOn
(
portName
,
slvAddr
);
}
private
void
btnReadPosition_Click_1
(
object
sender
,
EventArgs
e
)
{
ReadPosistion
();
}
private
void
ReadPosistion
()
{
string
portName
=
GetPortName
();
int
SlvAddr
=
GetSlaveAddr
();
//判断私服是否打开、
if
(
ACServerManager
.
ServerOnStatus
(
portName
,
SlvAddr
))
{
{
MessageBox
.
Show
(
"定位气缸不在下降端,不能移动进出轴"
,
"警告"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Warning
);
txtServoStatue
.
Text
=
"✔"
;
return
;
}
}
else
if
(
store
.
Config
.
Middle_Axis
.
IsSameAxis
(
portName
,
SlvAddr
)
||
store
.
Config
.
UpDown_Axis
.
IsSameAxis
(
portName
,
SlvAddr
))
else
{
{
if
(!
InOutIsIsP1
())
txtServoStatue
.
Text
=
"✘"
;
}
ReadA
(
store
.
Config
.
Middle_Axis
,
lblActual1
,
lblTargetP1
,
txtMiddleTarget
,
axis_1_Alarm
);
ReadA
(
store
.
Config
.
UpDown_Axis
,
lblActual2
,
lblTargetP2
,
txtUpdownTarget
,
axis_2_Alarm
);
ReadA
(
store
.
Config
.
InOut_Axis
,
lblActual3
,
lblTargetP3
,
txtInoutTarget
,
axis_3_Alarm
);
ReadA
(
store
.
Config
.
Comp_Axis
,
lblActual4
,
lblTargetP4
,
txt4Target
,
axis_4_Alarm
);
}
private
void
ReadA
(
ConfigMoveAxis
axis
,
TextBox
lblActual
,
TextBox
lblTarget
,
TextBox
lblT
,
IOStatusControl
sta
)
{
string
portName
=
GetPortName
();
int
SlvAddr
=
GetSlaveAddr
();
if
(
ACServerManager
.
ServerOnStatus
(
axis
.
DeviceName
,
axis
.
GetAxisValue
()))
{
sta
.
IOValue
=
ACServerManager
.
GetAlarmStatus
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
int
tP
=
ACServerManager
.
GetTargetPosition
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
lblTarget
.
Text
=
string
.
Format
(
"{0:d}"
,
tP
);
int
aP
=
ACServerManager
.
GetActualtPosition
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
lblActual
.
Text
=
string
.
Format
(
"{0:d}"
,
aP
);
lblT
.
Text
=
axis
.
TargetPosition
.
ToString
();
if
(
axis
.
IsSameAxis
(
portName
,
SlvAddr
))
{
{
return
;
txtP
.
Text
=
lblActual
.
Text
;
}
}
}
}
}
LogUtil
.
info
(
"点击【正方向原点返回】,端口号【"
+
portName
+
"】地址【"
+
SlvAddr
+
"】 "
);
ACServerManager
.
ZhHomeMove
(
portName
,
SlvAddr
);
private
void
升降轴位置调试
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
string
PortName
=
store
.
Config
.
UpDown_Axis
.
DeviceName
;
int
slvAddr
=
store
.
Config
.
UpDown_Axis
.
GetAxisValue
();
string
ioIP
=
"192.168.200.13"
;
int
ioIndex
=
0
;
// if (store.Config.StoreDIList.ContainsKey(IO_Type.UpdownPositionSingal))
if
(
store
.
Config
.
StoreDIList
.
ContainsKey
(
IO_Type
.
TrayCheck_Fixture
))
{
ioIP
=
store
.
Config
.
StoreDIList
[
IO_Type
.
TrayCheck_Fixture
].
DeviceName
;
ioIndex
=
store
.
Config
.
StoreDIList
[
IO_Type
.
TrayCheck_Fixture
].
GetIOAddr
();
}
FrmPositionTool
frm
=
new
FrmPositionTool
(
PortName
,
slvAddr
,
ioIP
,
ioIndex
);
frm
.
ShowDialog
();
}
}
}
}
}
}
source/ACSingleStore/Properties/Resources.Designer.cs
查看文件 @
be18814
...
@@ -47,7 +47,7 @@ namespace OnlineStore.ACSingleStore.Properties {
...
@@ -47,7 +47,7 @@ namespace OnlineStore.ACSingleStore.Properties {
}
}
/// <summary>
/// <summary>
///
使用此强类型资源类,为所有资源查找
///
重写当前线程的 CurrentUICulture 属性
/// 重写当前线程的 CurrentUICulture 属性。
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
/// </summary>
[
global
::
System
.
ComponentModel
.
EditorBrowsableAttribute
(
global
::
System
.
ComponentModel
.
EditorBrowsableState
.
Advanced
)]
[
global
::
System
.
ComponentModel
.
EditorBrowsableAttribute
(
global
::
System
.
ComponentModel
.
EditorBrowsableState
.
Advanced
)]
...
...
source/ACSingleStore/Properties/Settings.Designer.cs
查看文件 @
be18814
...
@@ -12,7 +12,7 @@ namespace OnlineStore.ACSingleStore.Properties {
...
@@ -12,7 +12,7 @@ namespace OnlineStore.ACSingleStore.Properties {
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator"
,
"15.
6
.0.0"
)]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator"
,
"15.
9
.0.0"
)]
internal
sealed
partial
class
Settings
:
global
::
System
.
Configuration
.
ApplicationSettingsBase
{
internal
sealed
partial
class
Settings
:
global
::
System
.
Configuration
.
ApplicationSettingsBase
{
private
static
Settings
defaultInstance
=
((
Settings
)(
global
::
System
.
Configuration
.
ApplicationSettingsBase
.
Synchronized
(
new
Settings
())));
private
static
Settings
defaultInstance
=
((
Settings
)(
global
::
System
.
Configuration
.
ApplicationSettingsBase
.
Synchronized
(
new
Settings
())));
...
...
source/ACSingleStore/positionTool/FrmPositionTool.Designer.cs
0 → 100644
查看文件 @
be18814
namespace
OnlineStore.ACSingleStore
{
partial
class
FrmPositionTool
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private
System
.
ComponentModel
.
IContainer
components
=
null
;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected
override
void
Dispose
(
bool
disposing
)
{
if
(
disposing
&&
(
components
!=
null
))
{
components
.
Dispose
();
}
base
.
Dispose
(
disposing
);
}
#
region
Windows
窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private
void
InitializeComponent
()
{
this
.
components
=
new
System
.
ComponentModel
.
Container
();
this
.
groupBox6
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox2
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
txtP4Offset
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label10
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtP3Offset
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label9
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtP6Offset
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label5
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtP5Offset
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label4
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnOpenFolder
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnGetActualPosition
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtSpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label8
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtFileName
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
ioStatusControl1
=
new
UserFromControl
.
IOStatusControl
();
this
.
btnAbsMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
label3
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label7
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtActualPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label13
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnSdStop
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
label6
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtTargetPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
groupBox1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
label12
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label18
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtAddr
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnHomeMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnServoOn
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtPortName
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnServoOff
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtIOIndex
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label1
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label2
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtIoIp
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnExit
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnClear
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
richTextBox1
=
new
System
.
Windows
.
Forms
.
RichTextBox
();
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
groupBox6
.
SuspendLayout
();
this
.
groupBox2
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
SuspendLayout
();
//
// groupBox6
//
this
.
groupBox6
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
groupBox6
.
Controls
.
Add
(
this
.
groupBox2
);
this
.
groupBox6
.
Controls
.
Add
(
this
.
groupBox1
);
this
.
groupBox6
.
Controls
.
Add
(
this
.
btnExit
);
this
.
groupBox6
.
Controls
.
Add
(
this
.
btnClear
);
this
.
groupBox6
.
Controls
.
Add
(
this
.
richTextBox1
);
this
.
groupBox6
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupBox6
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
5
);
this
.
groupBox6
.
Name
=
"groupBox6"
;
this
.
groupBox6
.
Size
=
new
System
.
Drawing
.
Size
(
1008
,
707
);
this
.
groupBox6
.
TabIndex
=
250
;
this
.
groupBox6
.
TabStop
=
false
;
//
// groupBox2
//
this
.
groupBox2
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)(((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)));
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtP4Offset
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label10
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtP3Offset
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label9
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtP6Offset
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label5
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtP5Offset
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label4
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
btnOpenFolder
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
btnGetActualPosition
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtSpeed
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label8
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtFileName
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
ioStatusControl1
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
btnAbsMove
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label3
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label7
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtPosition
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtActualPosition
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label13
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
btnSdStop
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
label6
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
txtTargetPosition
);
this
.
groupBox2
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
192
);
this
.
groupBox2
.
Name
=
"groupBox2"
;
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
458
,
504
);
this
.
groupBox2
.
TabIndex
=
283
;
this
.
groupBox2
.
TabStop
=
false
;
this
.
groupBox2
.
Text
=
"位置信息"
;
//
// txtP4Offset
//
this
.
txtP4Offset
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtP4Offset
.
Location
=
new
System
.
Drawing
.
Point
(
184
,
174
);
this
.
txtP4Offset
.
MaxLength
=
30
;
this
.
txtP4Offset
.
Name
=
"txtP4Offset"
;
this
.
txtP4Offset
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
26
);
this
.
txtP4Offset
.
TabIndex
=
287
;
this
.
txtP4Offset
.
Text
=
"-6000"
;
//
// label10
//
this
.
label10
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label10
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
177
);
this
.
label10
.
Name
=
"label10"
;
this
.
label10
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
20
);
this
.
label10
.
TabIndex
=
288
;
this
.
label10
.
Text
=
"入料缓冲点P4偏移量:"
;
this
.
label10
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtP3Offset
//
this
.
txtP3Offset
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtP3Offset
.
Location
=
new
System
.
Drawing
.
Point
(
184
,
142
);
this
.
txtP3Offset
.
MaxLength
=
30
;
this
.
txtP3Offset
.
Name
=
"txtP3Offset"
;
this
.
txtP3Offset
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
26
);
this
.
txtP3Offset
.
TabIndex
=
285
;
this
.
txtP3Offset
.
Text
=
"6000"
;
//
// label9
//
this
.
label9
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label9
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
145
);
this
.
label9
.
Name
=
"label9"
;
this
.
label9
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
20
);
this
.
label9
.
TabIndex
=
286
;
this
.
label9
.
Text
=
"入料前点P3偏移量:"
;
this
.
label9
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtP6Offset
//
this
.
txtP6Offset
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtP6Offset
.
Location
=
new
System
.
Drawing
.
Point
(
184
,
110
);
this
.
txtP6Offset
.
MaxLength
=
30
;
this
.
txtP6Offset
.
Name
=
"txtP6Offset"
;
this
.
txtP6Offset
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
26
);
this
.
txtP6Offset
.
TabIndex
=
283
;
this
.
txtP6Offset
.
Text
=
"6000"
;
//
// label5
//
this
.
label5
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
113
);
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
20
);
this
.
label5
.
TabIndex
=
284
;
this
.
label5
.
Text
=
"出料缓冲点P6偏移量:"
;
this
.
label5
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtP5Offset
//
this
.
txtP5Offset
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtP5Offset
.
Location
=
new
System
.
Drawing
.
Point
(
184
,
78
);
this
.
txtP5Offset
.
MaxLength
=
30
;
this
.
txtP5Offset
.
Name
=
"txtP5Offset"
;
this
.
txtP5Offset
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
26
);
this
.
txtP5Offset
.
TabIndex
=
281
;
this
.
txtP5Offset
.
Text
=
"-6000"
;
//
// label4
//
this
.
label4
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label4
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
81
);
this
.
label4
.
Name
=
"label4"
;
this
.
label4
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
20
);
this
.
label4
.
TabIndex
=
282
;
this
.
label4
.
Text
=
"出料前点P5偏移值:"
;
this
.
label4
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnOpenFolder
//
this
.
btnOpenFolder
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnOpenFolder
.
Location
=
new
System
.
Drawing
.
Point
(
312
,
22
);
this
.
btnOpenFolder
.
Name
=
"btnOpenFolder"
;
this
.
btnOpenFolder
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnOpenFolder
.
TabIndex
=
280
;
this
.
btnOpenFolder
.
Text
=
"打开文件夹"
;
this
.
btnOpenFolder
.
UseVisualStyleBackColor
=
true
;
this
.
btnOpenFolder
.
Click
+=
new
System
.
EventHandler
(
this
.
btnOpenFolder_Click
);
//
// btnGetActualPosition
//
this
.
btnGetActualPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnGetActualPosition
.
Location
=
new
System
.
Drawing
.
Point
(
312
,
342
);
this
.
btnGetActualPosition
.
Name
=
"btnGetActualPosition"
;
this
.
btnGetActualPosition
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnGetActualPosition
.
TabIndex
=
269
;
this
.
btnGetActualPosition
.
Text
=
"读取位置"
;
this
.
btnGetActualPosition
.
UseVisualStyleBackColor
=
true
;
this
.
btnGetActualPosition
.
Click
+=
new
System
.
EventHandler
(
this
.
btnGetActualPosition_Click
);
//
// txtSpeed
//
this
.
txtSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
184
,
227
);
this
.
txtSpeed
.
MaxLength
=
30
;
this
.
txtSpeed
.
Name
=
"txtSpeed"
;
this
.
txtSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
26
);
this
.
txtSpeed
.
TabIndex
=
83
;
this
.
txtSpeed
.
Text
=
"20"
;
//
// label8
//
this
.
label8
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label8
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
230
);
this
.
label8
.
Name
=
"label8"
;
this
.
label8
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
20
);
this
.
label8
.
TabIndex
=
84
;
this
.
label8
.
Text
=
"移动速度:"
;
this
.
label8
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtFileName
//
this
.
txtFileName
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtFileName
.
Location
=
new
System
.
Drawing
.
Point
(
141
,
27
);
this
.
txtFileName
.
MaxLength
=
30
;
this
.
txtFileName
.
Name
=
"txtFileName"
;
this
.
txtFileName
.
Size
=
new
System
.
Drawing
.
Size
(
164
,
26
);
this
.
txtFileName
.
TabIndex
=
278
;
this
.
txtFileName
.
Text
=
"position.csv"
;
//
// ioStatusControl1
//
this
.
ioStatusControl1
.
IOName
=
"检测信号"
;
this
.
ioStatusControl1
.
IOValue
=
0
;
this
.
ioStatusControl1
.
isCanClick
=
false
;
this
.
ioStatusControl1
.
Location
=
new
System
.
Drawing
.
Point
(
38
,
401
);
this
.
ioStatusControl1
.
Name
=
"ioStatusControl1"
;
this
.
ioStatusControl1
.
Size
=
new
System
.
Drawing
.
Size
(
267
,
69
);
this
.
ioStatusControl1
.
TabIndex
=
279
;
//
// btnAbsMove
//
this
.
btnAbsMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnAbsMove
.
Location
=
new
System
.
Drawing
.
Point
(
312
,
222
);
this
.
btnAbsMove
.
Name
=
"btnAbsMove"
;
this
.
btnAbsMove
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnAbsMove
.
TabIndex
=
88
;
this
.
btnAbsMove
.
Text
=
"开始运动"
;
this
.
btnAbsMove
.
UseVisualStyleBackColor
=
true
;
this
.
btnAbsMove
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAbsMove_Click
);
//
// label3
//
this
.
label3
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
13
,
30
);
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
122
,
20
);
this
.
label3
.
TabIndex
=
277
;
this
.
label3
.
Text
=
"保存文件名称:"
;
this
.
label3
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// label7
//
this
.
label7
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label7
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
355
);
this
.
label7
.
Name
=
"label7"
;
this
.
label7
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
20
);
this
.
label7
.
TabIndex
=
271
;
this
.
label7
.
Text
=
"实际位置:"
;
this
.
label7
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtPosition
//
this
.
txtPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtPosition
.
Location
=
new
System
.
Drawing
.
Point
(
184
,
265
);
this
.
txtPosition
.
MaxLength
=
30
;
this
.
txtPosition
.
Name
=
"txtPosition"
;
this
.
txtPosition
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
26
);
this
.
txtPosition
.
TabIndex
=
89
;
this
.
txtPosition
.
Text
=
"5000"
;
//
// txtActualPosition
//
this
.
txtActualPosition
.
Enabled
=
false
;
this
.
txtActualPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtActualPosition
.
Location
=
new
System
.
Drawing
.
Point
(
184
,
352
);
this
.
txtActualPosition
.
MaxLength
=
30
;
this
.
txtActualPosition
.
Name
=
"txtActualPosition"
;
this
.
txtActualPosition
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
26
);
this
.
txtActualPosition
.
TabIndex
=
270
;
//
// label13
//
this
.
label13
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label13
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
268
);
this
.
label13
.
Name
=
"label13"
;
this
.
label13
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
20
);
this
.
label13
.
TabIndex
=
90
;
this
.
label13
.
Text
=
"目标位置:"
;
this
.
label13
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnSdStop
//
this
.
btnSdStop
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnSdStop
.
Location
=
new
System
.
Drawing
.
Point
(
312
,
260
);
this
.
btnSdStop
.
Name
=
"btnSdStop"
;
this
.
btnSdStop
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnSdStop
.
TabIndex
=
257
;
this
.
btnSdStop
.
Text
=
"停止"
;
this
.
btnSdStop
.
UseVisualStyleBackColor
=
true
;
this
.
btnSdStop
.
Click
+=
new
System
.
EventHandler
(
this
.
btnSdStop_Click
);
//
// label6
//
this
.
label6
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label6
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
321
);
this
.
label6
.
Name
=
"label6"
;
this
.
label6
.
Size
=
new
System
.
Drawing
.
Size
(
173
,
20
);
this
.
label6
.
TabIndex
=
268
;
this
.
label6
.
Text
=
"目标位置:"
;
this
.
label6
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtTargetPosition
//
this
.
txtTargetPosition
.
Enabled
=
false
;
this
.
txtTargetPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtTargetPosition
.
Location
=
new
System
.
Drawing
.
Point
(
184
,
318
);
this
.
txtTargetPosition
.
MaxLength
=
30
;
this
.
txtTargetPosition
.
Name
=
"txtTargetPosition"
;
this
.
txtTargetPosition
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
26
);
this
.
txtTargetPosition
.
TabIndex
=
267
;
//
// groupBox1
//
this
.
groupBox1
.
Controls
.
Add
(
this
.
label12
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label18
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtAddr
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnHomeMove
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnServoOn
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtPortName
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnServoOff
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtIOIndex
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label1
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label2
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtIoIp
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
13
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
458
,
173
);
this
.
groupBox1
.
TabIndex
=
282
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"设备信息"
;
//
// label12
//
this
.
label12
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label12
.
Location
=
new
System
.
Drawing
.
Point
(
8
,
28
);
this
.
label12
.
Name
=
"label12"
;
this
.
label12
.
Size
=
new
System
.
Drawing
.
Size
(
122
,
20
);
this
.
label12
.
TabIndex
=
1
;
this
.
label12
.
Text
=
"端口号:"
;
this
.
label12
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// label18
//
this
.
label18
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label18
.
Location
=
new
System
.
Drawing
.
Point
(
8
,
64
);
this
.
label18
.
Name
=
"label18"
;
this
.
label18
.
Size
=
new
System
.
Drawing
.
Size
(
122
,
20
);
this
.
label18
.
TabIndex
=
94
;
this
.
label18
.
Text
=
"地址:"
;
this
.
label18
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtAddr
//
this
.
txtAddr
.
Enabled
=
false
;
this
.
txtAddr
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtAddr
.
Location
=
new
System
.
Drawing
.
Point
(
136
,
61
);
this
.
txtAddr
.
MaxLength
=
30
;
this
.
txtAddr
.
Name
=
"txtAddr"
;
this
.
txtAddr
.
Size
=
new
System
.
Drawing
.
Size
(
164
,
26
);
this
.
txtAddr
.
TabIndex
=
95
;
this
.
txtAddr
.
Text
=
"1"
;
//
// btnHomeMove
//
this
.
btnHomeMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnHomeMove
.
Location
=
new
System
.
Drawing
.
Point
(
307
,
113
);
this
.
btnHomeMove
.
Name
=
"btnHomeMove"
;
this
.
btnHomeMove
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnHomeMove
.
TabIndex
=
110
;
this
.
btnHomeMove
.
Text
=
"原点返回"
;
this
.
btnHomeMove
.
UseVisualStyleBackColor
=
true
;
this
.
btnHomeMove
.
Click
+=
new
System
.
EventHandler
(
this
.
btnHomeMove_Click
);
//
// btnServoOn
//
this
.
btnServoOn
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnServoOn
.
Location
=
new
System
.
Drawing
.
Point
(
307
,
25
);
this
.
btnServoOn
.
Name
=
"btnServoOn"
;
this
.
btnServoOn
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnServoOn
.
TabIndex
=
258
;
this
.
btnServoOn
.
Text
=
"打开伺服"
;
this
.
btnServoOn
.
UseVisualStyleBackColor
=
true
;
this
.
btnServoOn
.
Click
+=
new
System
.
EventHandler
(
this
.
btnServoOn_Click
);
//
// txtPortName
//
this
.
txtPortName
.
Enabled
=
false
;
this
.
txtPortName
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtPortName
.
Location
=
new
System
.
Drawing
.
Point
(
136
,
25
);
this
.
txtPortName
.
MaxLength
=
30
;
this
.
txtPortName
.
Name
=
"txtPortName"
;
this
.
txtPortName
.
Size
=
new
System
.
Drawing
.
Size
(
164
,
26
);
this
.
txtPortName
.
TabIndex
=
276
;
this
.
txtPortName
.
Text
=
"COM1"
;
//
// btnServoOff
//
this
.
btnServoOff
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnServoOff
.
Location
=
new
System
.
Drawing
.
Point
(
307
,
64
);
this
.
btnServoOff
.
Name
=
"btnServoOff"
;
this
.
btnServoOff
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnServoOff
.
TabIndex
=
259
;
this
.
btnServoOff
.
Text
=
"关闭伺服"
;
this
.
btnServoOff
.
UseVisualStyleBackColor
=
true
;
this
.
btnServoOff
.
Click
+=
new
System
.
EventHandler
(
this
.
btnServoOff_Click
);
//
// txtIOIndex
//
this
.
txtIOIndex
.
Enabled
=
false
;
this
.
txtIOIndex
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtIOIndex
.
Location
=
new
System
.
Drawing
.
Point
(
136
,
133
);
this
.
txtIOIndex
.
MaxLength
=
30
;
this
.
txtIOIndex
.
Name
=
"txtIOIndex"
;
this
.
txtIOIndex
.
Size
=
new
System
.
Drawing
.
Size
(
164
,
26
);
this
.
txtIOIndex
.
TabIndex
=
275
;
this
.
txtIOIndex
.
Text
=
"1"
;
//
// label1
//
this
.
label1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label1
.
Location
=
new
System
.
Drawing
.
Point
(
8
,
100
);
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
122
,
20
);
this
.
label1
.
TabIndex
=
272
;
this
.
label1
.
Text
=
"IO模块IP:"
;
this
.
label1
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// label2
//
this
.
label2
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
8
,
136
);
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
122
,
20
);
this
.
label2
.
TabIndex
=
274
;
this
.
label2
.
Text
=
"检测信号地址:"
;
this
.
label2
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtIoIp
//
this
.
txtIoIp
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtIoIp
.
Location
=
new
System
.
Drawing
.
Point
(
136
,
97
);
this
.
txtIoIp
.
MaxLength
=
30
;
this
.
txtIoIp
.
Name
=
"txtIoIp"
;
this
.
txtIoIp
.
Size
=
new
System
.
Drawing
.
Size
(
164
,
26
);
this
.
txtIoIp
.
TabIndex
=
273
;
this
.
txtIoIp
.
Text
=
"192.168.201.11"
;
//
// btnExit
//
this
.
btnExit
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
btnExit
.
Location
=
new
System
.
Drawing
.
Point
(
838
,
665
);
this
.
btnExit
.
Name
=
"btnExit"
;
this
.
btnExit
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnExit
.
TabIndex
=
281
;
this
.
btnExit
.
Text
=
"退出"
;
this
.
btnExit
.
UseVisualStyleBackColor
=
true
;
this
.
btnExit
.
Click
+=
new
System
.
EventHandler
(
this
.
btnExit_Click
);
//
// btnClear
//
this
.
btnClear
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
btnClear
.
Location
=
new
System
.
Drawing
.
Point
(
691
,
665
);
this
.
btnClear
.
Name
=
"btnClear"
;
this
.
btnClear
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnClear
.
TabIndex
=
106
;
this
.
btnClear
.
Text
=
"清理"
;
this
.
btnClear
.
UseVisualStyleBackColor
=
true
;
this
.
btnClear
.
Click
+=
new
System
.
EventHandler
(
this
.
btnClear_Click
);
//
// richTextBox1
//
this
.
richTextBox1
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
richTextBox1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
richTextBox1
.
Location
=
new
System
.
Drawing
.
Point
(
473
,
20
);
this
.
richTextBox1
.
Name
=
"richTextBox1"
;
this
.
richTextBox1
.
Size
=
new
System
.
Drawing
.
Size
(
526
,
642
);
this
.
richTextBox1
.
TabIndex
=
105
;
this
.
richTextBox1
.
Text
=
""
;
//
// timer1
//
this
.
timer1
.
Interval
=
1000
;
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
//
// FrmPositionTool
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Dpi
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
1020
,
719
);
this
.
Controls
.
Add
(
this
.
groupBox6
);
this
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
Name
=
"FrmPositionTool"
;
this
.
Text
=
"升降轴位置测试"
;
this
.
WindowState
=
System
.
Windows
.
Forms
.
FormWindowState
.
Maximized
;
this
.
FormClosing
+=
new
System
.
Windows
.
Forms
.
FormClosingEventHandler
(
this
.
FrmPositionTool_FormClosing
);
this
.
Load
+=
new
System
.
EventHandler
(
this
.
Form1_Load
);
this
.
groupBox6
.
ResumeLayout
(
false
);
this
.
groupBox2
.
ResumeLayout
(
false
);
this
.
groupBox2
.
PerformLayout
();
this
.
groupBox1
.
ResumeLayout
(
false
);
this
.
groupBox1
.
PerformLayout
();
this
.
ResumeLayout
(
false
);
}
#
endregion
private
System
.
Windows
.
Forms
.
GroupBox
groupBox6
;
private
System
.
Windows
.
Forms
.
TextBox
txtAddr
;
private
System
.
Windows
.
Forms
.
Label
label18
;
private
System
.
Windows
.
Forms
.
Label
label13
;
private
System
.
Windows
.
Forms
.
TextBox
txtPosition
;
private
System
.
Windows
.
Forms
.
Button
btnAbsMove
;
private
System
.
Windows
.
Forms
.
Label
label8
;
private
System
.
Windows
.
Forms
.
TextBox
txtSpeed
;
private
System
.
Windows
.
Forms
.
Label
label12
;
private
System
.
Windows
.
Forms
.
RichTextBox
richTextBox1
;
private
System
.
Windows
.
Forms
.
Button
btnClear
;
private
System
.
Windows
.
Forms
.
Button
btnHomeMove
;
private
System
.
Windows
.
Forms
.
Button
btnSdStop
;
private
System
.
Windows
.
Forms
.
Button
btnServoOff
;
private
System
.
Windows
.
Forms
.
Button
btnServoOn
;
private
System
.
Windows
.
Forms
.
Label
label6
;
private
System
.
Windows
.
Forms
.
TextBox
txtTargetPosition
;
private
System
.
Windows
.
Forms
.
Label
label7
;
private
System
.
Windows
.
Forms
.
TextBox
txtActualPosition
;
private
System
.
Windows
.
Forms
.
Button
btnGetActualPosition
;
private
System
.
Windows
.
Forms
.
Timer
timer1
;
private
System
.
Windows
.
Forms
.
TextBox
txtIOIndex
;
private
System
.
Windows
.
Forms
.
Label
label2
;
private
System
.
Windows
.
Forms
.
TextBox
txtIoIp
;
private
System
.
Windows
.
Forms
.
Label
label1
;
private
System
.
Windows
.
Forms
.
TextBox
txtPortName
;
private
System
.
Windows
.
Forms
.
TextBox
txtFileName
;
private
System
.
Windows
.
Forms
.
Label
label3
;
private
UserFromControl
.
IOStatusControl
ioStatusControl1
;
private
System
.
Windows
.
Forms
.
Button
btnOpenFolder
;
private
System
.
Windows
.
Forms
.
Button
btnExit
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox1
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox2
;
private
System
.
Windows
.
Forms
.
TextBox
txtP4Offset
;
private
System
.
Windows
.
Forms
.
Label
label10
;
private
System
.
Windows
.
Forms
.
TextBox
txtP3Offset
;
private
System
.
Windows
.
Forms
.
Label
label9
;
private
System
.
Windows
.
Forms
.
TextBox
txtP6Offset
;
private
System
.
Windows
.
Forms
.
Label
label5
;
private
System
.
Windows
.
Forms
.
TextBox
txtP5Offset
;
private
System
.
Windows
.
Forms
.
Label
label4
;
}
}
source/ACSingleStore/positionTool/FrmPositionTool.cs
0 → 100644
查看文件 @
be18814
using
OnlineStore.Common
;
using
OnlineStore.DeviceLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Data
;
using
System.Drawing
;
using
System.IO
;
using
System.IO.Ports
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
System.Windows.Forms
;
namespace
OnlineStore.ACSingleStore
{
public
partial
class
FrmPositionTool
:
FrmBase
{
private
string
LogName
=
ResourceCulture
.
GetString
(
"升降轴位置调试:"
);
private
string
PortName
=
""
;
private
int
SlvAddr
=
0
;
private
string
IoIp
=
""
;
private
int
IoIndex
=
0
;
public
string
Axis_Brake
=
IO_Type
.
Axis_Brake
;
private
System
.
Timers
.
Timer
toolTimer
=
new
System
.
Timers
.
Timer
();
public
FrmPositionTool
(
string
protName
,
int
slvAddr
,
string
ioIp
,
int
ioIndex
)
{
InitializeComponent
();
this
.
PortName
=
protName
;
this
.
SlvAddr
=
slvAddr
;
this
.
IoIp
=
ioIp
;
this
.
IoIndex
=
ioIndex
;
toolTimer
.
Enabled
=
false
;
toolTimer
.
Interval
=
50
;
toolTimer
.
AutoReset
=
true
;
toolTimer
.
Elapsed
+=
ToolTimer_Elapsed
;
FrmPositionTool
.
CheckForIllegalCrossThreadCalls
=
false
;
}
private
void
Form1_Load
(
object
sender
,
EventArgs
e
)
{
ACServerManager
.
IsShowMsg
=
false
;
LogUtil
.
logBox
=
this
.
richTextBox1
;
//ACServerManager.richeBox = this.richTextBox1;
CheckForIllegalCrossThreadCalls
=
false
;
txtPortName
.
Text
=
PortName
;
txtAddr
.
Text
=
SlvAddr
.
ToString
();
txtIOIndex
.
Text
=
IoIndex
.
ToString
();
txtIoIp
.
Text
=
IoIp
.
ToString
();
//if (KNDManager.instance == null)
//{
// IOManager.Init();
// IOManager.instance.ConnectionIOList(new List<string> { /*IoIp*/ });
//}
P3Offset
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_P3_Offset
);
P4Offset
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_P4_Offset
);
P5Offset
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_P5_Offset
);
P6Offset
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_P6_Offset
);
int
tSpeed
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_TargetSpeed
);
int
tPosition
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_TargetPosition
);
if
(
P3Offset
.
Equals
(
0
))
P3Offset
=
6000
;
if
(
P4Offset
.
Equals
(
0
))
P4Offset
=
-
6000
;
if
(
P5Offset
.
Equals
(
0
))
P5Offset
=
-
6000
;
if
(
P6Offset
.
Equals
(
0
))
P6Offset
=
6000
;
if
(
tSpeed
.
Equals
(
0
))
tSpeed
=
20
;
if
(
tPosition
.
Equals
(
0
))
tPosition
=
6000
;
txtP3Offset
.
Text
=
P3Offset
.
ToString
();
txtP4Offset
.
Text
=
P4Offset
.
ToString
();
txtP5Offset
.
Text
=
P5Offset
.
ToString
();
txtP6Offset
.
Text
=
P6Offset
.
ToString
();
txtSpeed
.
Text
=
tSpeed
.
ToString
();
txtPosition
.
Text
=
tPosition
.
ToString
();
SaveConfig
(
tSpeed
,
tPosition
);
//判断伺服是否已经打开
bool
isOn
=
ACServerManager
.
ServerOnStatus
(
PortName
,
SlvAddr
);
formStatus
(
isOn
);
timer1
.
Start
();
ioStatusControl1
.
IOName
=
ResourceCulture
.
GetString
(
"检测信号"
);
}
private
void
btnServoOn_Click
(
object
sender
,
EventArgs
e
)
{
this
.
PortName
=
txtPortName
.
Text
;
this
.
SlvAddr
=
FormUtil
.
GetIntValue
(
txtAddr
);
bool
result
=
ACServerManager
.
OpenPort
(
PortName
);
if
(!
result
)
{
MessageBox
.
Show
(
ResourceCulture
.
GetString
(
"打开串口失败"
));
return
;
}
formStatus
(
true
);
ACServerManager
.
InitSlvAddr
(
PortName
,
SlvAddr
);
Thread
.
Sleep
(
100
);
ACServerManager
.
AlarmClear
(
PortName
,
SlvAddr
);
ACServerManager
.
ServoOn
(
PortName
,
SlvAddr
);
try
{
StoreManager
.
Store
.
KNDIOMove
(
Axis_Brake
,
IO_VALUE
.
HIGH
);
}
catch
(
Exception
ex
)
{
}
}
private
void
btnServoOff_Click
(
object
sender
,
EventArgs
e
)
{
StopTimer
();
// toolTimer.Stop();
ACServerManager
.
SuddenStop
(
PortName
,
SlvAddr
);
Thread
.
Sleep
(
100
);
try
{
StoreManager
.
Store
.
KNDIOMove
(
Axis_Brake
,
IO_VALUE
.
LOW
);
}
catch
(
Exception
ex
)
{
}
ACServerManager
.
ServoOff
(
PortName
,
SlvAddr
);
formStatus
(
false
);
}
private
void
formStatus
(
bool
p
)
{
txtPortName
.
Enabled
=
!
p
;
txtAddr
.
Enabled
=
!
p
;
txtIOIndex
.
Enabled
=
!
p
;
// txtIoIp.Enabled = !p;
btnAbsMove
.
Enabled
=
p
;
btnSdStop
.
Enabled
=
p
;
btnHomeMove
.
Enabled
=
p
;
timer1
.
Enabled
=
p
;
btnServoOff
.
Enabled
=
p
;
btnServoOn
.
Enabled
=
!
p
;
btnGetActualPosition
.
Enabled
=
p
;
}
private
void
btnClear_Click
(
object
sender
,
EventArgs
e
)
{
this
.
richTextBox1
.
Text
=
""
;
}
private
void
btnRelMove_Click
(
object
sender
,
EventArgs
e
)
{
int
position
=
Convert
.
ToInt32
(
txtPosition
.
Text
);
ACServerManager
.
RelMove
(
PortName
,
SlvAddr
,
position
);
}
private
void
btnHomeMove_Click
(
object
sender
,
EventArgs
e
)
{
int
speed
=
Convert
.
ToInt32
(
txtSpeed
.
Text
);
ACServerManager
.
HomeMove
(
PortName
,
SlvAddr
,
speed
);
}
private
void
btnSpeedMove_Click
(
object
sender
,
EventArgs
e
)
{
int
speed
=
Convert
.
ToInt32
(
txtSpeed
.
Text
);
ACServerManager
.
SpeedMove
(
PortName
,
SlvAddr
,
speed
);
}
private
void
btnGetActualPosition_Click
(
object
sender
,
EventArgs
e
)
{
int
value
=
ACServerManager
.
GetTargetPosition
(
PortName
,
SlvAddr
);
txtTargetPosition
.
Text
=
value
.
ToString
();
value
=
ACServerManager
.
GetActualtPosition
(
PortName
,
SlvAddr
);
txtActualPosition
.
Text
=
value
.
ToString
();
}
private
void
SaveConfig
(
int
speed
,
int
position
)
{
//保存配置
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_P3_Offset
,
P3Offset
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_P4_Offset
,
P4Offset
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_P5_Offset
,
P5Offset
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_P6_Offset
,
P6Offset
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_TargetSpeed
,
speed
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_TargetPosition
,
position
);
}
private
void
btnAbsMove_Click
(
object
sender
,
EventArgs
e
)
{
int
speed
=
Convert
.
ToInt32
(
txtSpeed
.
Text
);
int
position
=
Convert
.
ToInt32
(
txtPosition
.
Text
.
Trim
(),
10
);
TargetPostion
=
position
;
if
(
speed
<=
(
0
))
{
MessageBox
.
Show
(
ResourceCulture
.
GetString
(
"请输入正确的速度"
));
txtSpeed
.
Focus
();
return
;
}
P3Offset
=
FormUtil
.
GetIntValue
(
txtP3Offset
);
P4Offset
=
FormUtil
.
GetIntValue
(
txtP4Offset
);
P5Offset
=
FormUtil
.
GetIntValue
(
txtP5Offset
);
P6Offset
=
FormUtil
.
GetIntValue
(
txtP6Offset
);
SaveConfig
(
speed
,
position
);
LastValue
=
IO_VALUE
.
LOW
;
string
fileName
=
txtFileName
.
Text
;
string
filePath
=
Application
.
StartupPath
+
@"\logs\"
+
fileName
;
if
(
File
.
Exists
(
filePath
))
{
string
msg
=
"文件【"
+
fileName
+
"】已存在,是否确定覆盖?"
;
DialogResult
result
=
MessageBox
.
Show
(
msg
,
""
,
MessageBoxButtons
.
OKCancel
,
MessageBoxIcon
.
Question
);
if
(!
result
.
Equals
(
DialogResult
.
OK
))
{
return
;
}
}
PositionList
=
new
List
<
int
>();
LogUtil
.
info
(
LogName
+
"伺服开始运动,速度【"
+
speed
+
"】位置【"
+
position
+
"】启动定时器 "
);
formMoveStatus
(
false
);
ACServerManager
.
AbsMove
(
PortName
,
SlvAddr
,
position
,
speed
);
toolTimer
.
Start
();
}
private
int
P3Offset
=
0
;
private
int
P4Offset
=
0
;
private
int
P5Offset
=
0
;
private
int
P6Offset
=
0
;
private
void
formMoveStatus
(
bool
status
)
{
txtFileName
.
Enabled
=
status
;
txtP5Offset
.
Enabled
=
status
;
txtP3Offset
.
Enabled
=
status
;
txtP4Offset
.
Enabled
=
status
;
txtP6Offset
.
Enabled
=
status
;
txtSpeed
.
Enabled
=
status
;
txtPosition
.
Enabled
=
status
;
}
private
void
btnSdStop_Click
(
object
sender
,
EventArgs
e
)
{
toolTimer
.
Stop
();
ACServerManager
.
SuddenStop
(
PortName
,
SlvAddr
);
}
private
IO_VALUE
GetSingleValue
()
{
return
KNDManager
.
GetDIValue
(
IoIp
,
0
,
(
ushort
)
IoIndex
);
}
private
int
TargetPostion
=
0
;
private
bool
isInProcesss
=
false
;
private
DateTime
LastTime
=
DateTime
.
Now
;
private
List
<
int
>
PositionList
=
new
List
<
int
>();
private
IO_VALUE
LastValue
=
IO_VALUE
.
LOW
;
private
DateTime
LastGetPTime
=
DateTime
.
Now
;
private
void
ToolTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
{
TimeSpan
span
=
DateTime
.
Now
-
LastTime
;
if
(
isInProcesss
&&
span
.
TotalSeconds
<
1
)
{
return
;
}
isInProcesss
=
true
;
try
{
int
moveS
=
ACServerManager
.
GetBusyStatus
(
PortName
,
SlvAddr
);
if
(
moveS
.
Equals
(
1
))
{
IO_VALUE
currValue
=
GetSingleValue
();
TimeSpan
checkSpan
=
DateTime
.
Now
-
LastGetPTime
;
if
(
LastValue
.
Equals
(
IO_VALUE
.
LOW
)
&&
currValue
.
Equals
(
IO_VALUE
.
HIGH
)&&
checkSpan
.
TotalSeconds
>
2
)
{
int
currPos
=
ACServerManager
.
GetActualtPosition
(
PortName
,
SlvAddr
);
txtActualPosition
.
Text
=
currPos
.
ToString
();
PositionList
.
Add
(
currPos
);
int
num
=
PositionList
.
Count
;
int
preValue
=
0
;
if
(
PositionList
.
Count
>
1
)
{
preValue
=
PositionList
[
num
-
2
];
}
LogUtil
.
info
(
LogName
+
"【"
+
num
+
"】【"
+
currPos
+
"】【"
+
Math
.
Abs
(
currPos
-
preValue
)+
"】"
);
if
(
LogUtil
.
logBox
==
null
)
{
this
.
richTextBox1
.
AppendText
(
LogName
+
"【"
+
num
+
"】【"
+
currPos
+
"】【"
+
Math
.
Abs
(
currPos
-
preValue
)
+
"】"
+
Environment
.
NewLine
);
}
LastValue
=
IO_VALUE
.
HIGH
;
LastGetPTime
=
DateTime
.
Now
;
}
LastValue
=
currValue
;
}
else
{
StopTimer
();
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
LogName
+
"ToolTimer_Elapsed"
+
ex
.
ToString
());
}
isInProcesss
=
false
;
}
private
void
StopTimer
()
{
toolTimer
.
Stop
();
if
(
PositionList
.
Count
<=
0
)
{
return
;
}
LogUtil
.
info
(
LogName
+
"伺服已停止运动,停止定时器,记录数据"
);
List
<
string
>
strList
=
new
List
<
string
>();
strList
.
Add
(
"编号,标准位置,升降轴库位出料前点P5,升降轴库位出料缓冲点P6,升降轴库位入料前点P3,升降轴库位入料缓冲点P4"
);
int
index
=
1
;
foreach
(
int
p
in
PositionList
)
{
int
P3
=
p
+
P3Offset
;
int
P4
=
p
+
P4Offset
;
int
P5
=
p
+
P5Offset
;
int
P6
=
p
+
P6Offset
;
string
resultstr
=
index
+
","
+
p
+
","
+
P5
+
","
+
P6
+
","
+
P3
+
","
+
P4
+
""
;
strList
.
Add
(
resultstr
);
index
++;
}
string
fileName
=
txtFileName
.
Text
;
string
filePath
=
Application
.
StartupPath
+
@"\logs\"
+
fileName
;
try
{
// Clipboard.SetDataObject(resultstr);
File
.
WriteAllLines
(
filePath
,
strList
.
ToArray
());
LogUtil
.
error
(
LogName
+
"保存位置到文件【"
+
filePath
+
"】成功"
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
LogName
+
"保存位置到文件【"
+
filePath
+
"】出错:"
+
ex
.
ToString
());
}
formMoveStatus
(
true
);
}
private
void
timer1_Tick
(
object
sender
,
EventArgs
e
)
{
try
{
ioStatusControl1
.
IOValue
=
(
int
)
GetSingleValue
();
ioStatusControl1
.
ShowData
();
}
catch
(
Exception
ex
)
{
}
}
private
void
FrmPositionTool_FormClosing
(
object
sender
,
FormClosingEventArgs
e
)
{
timer1
.
Stop
();
if
(
btnServoOff
.
Enabled
)
{
StopTimer
();
// toolTimer.Stop();
ACServerManager
.
SuddenStop
(
PortName
,
SlvAddr
);
Thread
.
Sleep
(
100
);
}
LogUtil
.
logBox
=
null
;
//ACServerManager.CloseAllPort();
//IOManager.instance.CloseAllConnection();
}
private
void
btnOpenFolder_Click
(
object
sender
,
EventArgs
e
)
{
System
.
Diagnostics
.
Process
.
Start
(
"Explorer.exe"
,
Application
.
StartupPath
+
@"\logs\"
);
}
private
void
btnExit_Click
(
object
sender
,
EventArgs
e
)
{
this
.
Close
();
}
}
public
class
ResourceCulture
{
internal
static
string
GetString
(
string
str
)
{
return
str
;
}
}
}
source/ACSingleStore/positionTool/FrmPositionTool.resx
0 → 100644
查看文件 @
be18814
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
\ No newline at end of file
source/ACSingleStore/记录.txt
查看文件 @
be18814
...
@@ -86,4 +86,54 @@ bug修改:压紧轴点动时实时坐标更新。
...
@@ -86,4 +86,54 @@ bug修改:压紧轴点动时实时坐标更新。
20190830:
20190830:
增加压紧轴复位的配置。
增加压紧轴复位的配置。
StoreConfig.csv增加:
StoreConfig.csv增加:
PRO,出入库多少次自动复位压紧轴,Box_ResetCCount,3,,,,,,,
\ No newline at end of file
\ No newline at end of file
PRO,出入库多少次自动复位压紧轴,Box_ResetCCount,3,,,,,,,
20191210修改:
压紧轴改为伺服控制:
1.以前的三个轴波特率为9600,压紧轴的波特率需要一致.
2.所有压紧轴相关的位置都要重新配置,压紧轴回原点是向上的,位置都是正整数。
配置修改:
StoreConfig.csv删除原来的步进电机配置:
PRO,硕科步进电机(压紧轴)控制端口号,CompressAxis_PortName,COM3,,,,,,,
PRO,硕科步进电机(压紧轴)控制波特率,CompressAxis_PortBaudrate,9600,,,,,,,
PRO,硕科步进电机(压紧轴)控制奇偶校验,CompressAxis_PortParity,0,,,,,,,
PRO,硕科步进电机(压紧轴)控制停止位,CompressAxis_StopBits,1,,,,,,,
PRO,硕科步进电机(压紧轴)控制初速度,CompressAxis_StartSpeed,5000,,,,,,,
PRO,硕科步进电机(压紧轴)控制最大速度,CompressAxis_MaxSpeed,8000,,,,,,,
PRO,硕科步进电机(压紧轴)控制末速度,CompressAxis_EndSpeed,6000,,,,,,,
PRO,硕科步进电机(压紧轴)控制加速度,CompressAxis_AddSpeed,3000,,,,,,,
PRO,硕科步进电机(压紧轴)控制减速度,CompressAxis_DelSpeed,3000,,,,,,,
PRO,硕科步进电机(压紧轴)控制归零速度(原点返回速度),CompressAxis_HomeSpeed,5000,,,,,,,
PRO,硕科步进电机轴地址(压紧轴),CompressAxis_Slv,1,,,,,,,
增加压紧轴配置:
,,,,,,,,, ,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM1,0,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,100,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,100,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,100,,,,,,,
,,,,,,,
20200301
增加升降轴调试功能
20200305
进出轴回待机点时,原点信号必须亮。
20200311
扫码更新为最新版本。
source/Common/Setting_Init.cs
查看文件 @
be18814
...
@@ -79,5 +79,15 @@ namespace OnlineStore.Common
...
@@ -79,5 +79,15 @@ namespace OnlineStore.Common
/// 压紧轴1mm对应的脉冲
/// 压紧轴1mm对应的脉冲
/// </summary>
/// </summary>
public
static
string
ComAxisChangeValue
=
"ComAxisChangeValue"
;
public
static
string
ComAxisChangeValue
=
"ComAxisChangeValue"
;
public
static
string
ACBaudRate
=
"ACBaudRate"
;
public
static
string
Tool_P3_Offset
=
"Tool_P3_Offset"
;
public
static
string
Tool_P4_Offset
=
"Tool_P4_Offset"
;
public
static
string
Tool_P5_Offset
=
"Tool_P5_Offset"
;
public
static
string
Tool_P6_Offset
=
"Tool_P6_Offset"
;
public
static
string
Tool_TargetSpeed
=
"Tool_TargetSpeed"
;
public
static
string
Tool_TargetPosition
=
"Tool_TargetPosition"
;
}
}
}
}
source/Common/util/AcSerialBean.cs
查看文件 @
be18814
...
@@ -12,7 +12,7 @@ namespace OnlineStore.Common
...
@@ -12,7 +12,7 @@ namespace OnlineStore.Common
public
class
AcSerialBean
public
class
AcSerialBean
{
{
#
region
全部变量
#
region
全部变量
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
System
.
Reflection
.
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
System
.
Reflection
.
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
private
SerialPort
_serialPort
=
null
;
private
SerialPort
_serialPort
=
null
;
private
object
lockObj
=
new
object
();
private
object
lockObj
=
new
object
();
...
@@ -24,7 +24,7 @@ namespace OnlineStore.Common
...
@@ -24,7 +24,7 @@ namespace OnlineStore.Common
//public event SerialErrorReceivedEventHandler Error;
//public event SerialErrorReceivedEventHandler Error;
//接收事件是否有效 false表示有效
//接收事件是否有效 false表示有效
//public bool ReceiveEventFlag = false;
//public bool ReceiveEventFlag = false;
#
endregion
#
endregion
#
region
获取串口名
#
region
获取串口名
...
@@ -52,7 +52,7 @@ namespace OnlineStore.Common
...
@@ -52,7 +52,7 @@ namespace OnlineStore.Common
}
}
}
}
#
endregion
#
endregion
#
region
默认构造函数
#
region
默认构造函数
///// <summary>
///// <summary>
///// 默认构造函数,操作COM1,速度为9600,没有奇偶校验,8位字节,停止位为1 "COM1", 9600, Parity.None, 8, StopBits.One
///// 默认构造函数,操作COM1,速度为9600,没有奇偶校验,8位字节,停止位为1 "COM1", 9600, Parity.None, 8, StopBits.One
...
@@ -62,7 +62,7 @@ namespace OnlineStore.Common
...
@@ -62,7 +62,7 @@ namespace OnlineStore.Common
// _serialPort = new SerialPort();
// _serialPort = new SerialPort();
//}
//}
#
endregion
#
endregion
#
region
构造函数
#
region
构造函数
///// <summary>
///// <summary>
///// 构造函数,
///// 构造函数,
...
@@ -81,7 +81,7 @@ namespace OnlineStore.Common
...
@@ -81,7 +81,7 @@ namespace OnlineStore.Common
// setSerialPort();
// setSerialPort();
//}
//}
#
endregion
#
endregion
#
region
构造函数
,
可以自定义串口的初始化参数
#
region
构造函数
,
可以自定义串口的初始化参数
/// <summary>
/// <summary>
/// 构造函数,可以自定义串口的初始化参数
/// 构造函数,可以自定义串口的初始化参数
...
@@ -99,7 +99,7 @@ namespace OnlineStore.Common
...
@@ -99,7 +99,7 @@ namespace OnlineStore.Common
setSerialPort
();
setSerialPort
();
}
}
#
endregion
#
endregion
#
region
析构函数
#
region
析构函数
/// <summary>
/// <summary>
/// 析构函数,关闭串口
/// 析构函数,关闭串口
...
@@ -110,7 +110,7 @@ namespace OnlineStore.Common
...
@@ -110,7 +110,7 @@ namespace OnlineStore.Common
_serialPort
.
Close
();
_serialPort
.
Close
();
}
}
#
endregion
#
endregion
#
region
设置串口参数
#
region
设置串口参数
/// <summary>
/// <summary>
/// 设置串口参数
/// 设置串口参数
...
@@ -148,7 +148,7 @@ namespace OnlineStore.Common
...
@@ -148,7 +148,7 @@ namespace OnlineStore.Common
//设置触发DataReceived事件的字节数为1
//设置触发DataReceived事件的字节数为1
_serialPort
.
ReceivedBytesThreshold
=
1
;
_serialPort
.
ReceivedBytesThreshold
=
1
;
//接收到一个字节时,也会触发DataReceived事件
//接收到一个字节时,也会触发DataReceived事件
// _serialPort.DataReceived += new SerialDataReceivedEventHandler(_serialPort_DataReceived);
// _serialPort.DataReceived += new SerialDataReceivedEventHandler(_serialPort_DataReceived);
//接收数据出错,触发事件
//接收数据出错,触发事件
_serialPort
.
ErrorReceived
+=
new
SerialErrorReceivedEventHandler
(
_serialPort_ErrorReceived
);
_serialPort
.
ErrorReceived
+=
new
SerialErrorReceivedEventHandler
(
_serialPort_ErrorReceived
);
//打开串口
//打开串口
...
@@ -183,7 +183,7 @@ namespace OnlineStore.Common
...
@@ -183,7 +183,7 @@ namespace OnlineStore.Common
return
ok
;
return
ok
;
}
}
#
endregion
#
endregion
#
region
关闭串口
#
region
关闭串口
/// <summary>
/// <summary>
/// 关闭串口资源,操作完成后,一定要关闭串口
/// 关闭串口资源,操作完成后,一定要关闭串口
...
@@ -211,8 +211,8 @@ namespace OnlineStore.Common
...
@@ -211,8 +211,8 @@ namespace OnlineStore.Common
}
}
#
endregion
#
endregion
#
region
接收数据出错事件
#
region
接收数据出错事件
/// <summary>
/// <summary>
/// 接收数据出错事件
/// 接收数据出错事件
...
@@ -271,7 +271,7 @@ namespace OnlineStore.Common
...
@@ -271,7 +271,7 @@ namespace OnlineStore.Common
// LogUtil.error(LOGGER, "SendData ERROR:" + ex.ToString(), 21);
// LogUtil.error(LOGGER, "SendData ERROR:" + ex.ToString(), 21);
// }
// }
// }
// }
//}
//}
#
endregion
#
endregion
#
region
发送命令
#
region
发送命令
...
@@ -282,13 +282,13 @@ namespace OnlineStore.Common
...
@@ -282,13 +282,13 @@ namespace OnlineStore.Common
/// <param name="ReceiveData">接收数据</param>
/// <param name="ReceiveData">接收数据</param>
/// <param name="Overtime">超时时间</param>
/// <param name="Overtime">超时时间</param>
/// <returns></returns>
/// <returns></returns>
public
int
SendCommand
(
byte
[]
SendData
,
ref
byte
[]
ReceiveData
,
int
Overtime
,
out
bool
isOk
)
public
int
SendCommand
(
byte
[]
SendData
,
ref
byte
[]
ReceiveData
,
int
Overtime
,
out
bool
isOk
)
{
{
isOk
=
false
;
isOk
=
false
;
if
(
_serialPort
.
IsOpen
)
if
(
_serialPort
.
IsOpen
)
{
{
//lock (lockObj)
//lock (lockObj)
if
(
Monitor
.
TryEnter
(
lockObj
,
1
0
))
if
(
Monitor
.
TryEnter
(
lockObj
,
Overtime
+
5
0
))
{
{
//Monitor.Enter(lockObj);
//Monitor.Enter(lockObj);
try
try
...
@@ -326,7 +326,7 @@ namespace OnlineStore.Common
...
@@ -326,7 +326,7 @@ namespace OnlineStore.Common
LogUtil
.
error
(
LOGGER
,
"SendCommand ERROR:"
+
ex
.
ToString
(),
20
);
LogUtil
.
error
(
LOGGER
,
"SendCommand ERROR:"
+
ex
.
ToString
(),
20
);
}
}
finally
finally
{
{
Monitor
.
Exit
(
lockObj
);
Monitor
.
Exit
(
lockObj
);
}
}
}
}
...
@@ -339,7 +339,7 @@ namespace OnlineStore.Common
...
@@ -339,7 +339,7 @@ namespace OnlineStore.Common
return
-
1
;
return
-
1
;
}
}
private
byte
PreSlvAddr
=
0
;
/// <summary>
/// <summary>
/// 发送命令
/// 发送命令
/// </summary>
/// </summary>
...
@@ -348,21 +348,32 @@ namespace OnlineStore.Common
...
@@ -348,21 +348,32 @@ namespace OnlineStore.Common
/// <param name="Overtime">超时时间</param>
/// <param name="Overtime">超时时间</param>
/// <param name="ReceiveLength">接收数据长度</param>
/// <param name="ReceiveLength">接收数据长度</param>
/// <returns></returns>
/// <returns></returns>
public
int
SendCommand
(
byte
[]
SendData
,
ref
byte
[]
ReceiveData
,
int
Overtime
,
int
ReceiveLength
)
public
int
SendCommand
(
byte
[]
SendData
,
ref
byte
[]
ReceiveData
,
int
Overtime
,
int
ReceiveLength
)
{
{
if
(
_serialPort
==
null
)
if
(
_serialPort
==
null
)
{
{
LogUtil
.
error
(
PortName
+
" 发送数据"
+
ByteToString
(
SendData
)
+
"失败,_serialPort=null"
);
LogUtil
.
error
(
PortName
+
" 发送数据"
+
ByteToString
(
SendData
)
+
"失败,_serialPort=null"
);
return
-
1
;
return
-
1
;
}
}
if
(
_serialPort
.
IsOpen
)
if
(
_serialPort
.
IsOpen
)
{
{
if
(
Monitor
.
TryEnter
(
lockObj
,
1
))
if
(
Monitor
.
TryEnter
(
lockObj
,
Overtime
+
80
))
{
{
//Monitor.Enter(lockObj);
//Monitor.Enter(lockObj);
try
try
{
{
//判断是否需要休眠
if
(
SendData
!=
null
&&
SendData
.
Length
>
0
)
{
if
(!
SendData
[
0
].
Equals
(
PreSlvAddr
))
{
Thread
.
Sleep
(
50
);
PreSlvAddr
=
SendData
[
0
];
}
}
_serialPort
.
DiscardInBuffer
();
//清空接收缓冲区
_serialPort
.
DiscardInBuffer
();
//清空接收缓冲区
_serialPort
.
Write
(
SendData
,
0
,
SendData
.
Length
);
_serialPort
.
Write
(
SendData
,
0
,
SendData
.
Length
);
int
num
=
0
,
ret
=
0
;
int
num
=
0
,
ret
=
0
;
...
@@ -370,15 +381,15 @@ namespace OnlineStore.Common
...
@@ -370,15 +381,15 @@ namespace OnlineStore.Common
if
(
ReceiveData
==
null
)
if
(
ReceiveData
==
null
)
{
{
ReceiveData
=
new
byte
[
ReceiveLength
];
ReceiveData
=
new
byte
[
ReceiveLength
];
}
}
while
(
num
++
<
Overtime
)
while
(
num
++
<
Overtime
)
{
{
if
(
_serialPort
.
BytesToRead
>=
ReceiveData
.
Length
)
if
(
_serialPort
.
BytesToRead
>=
ReceiveData
.
Length
)
break
;
break
;
System
.
Threading
.
Thread
.
Sleep
(
1
);
System
.
Threading
.
Thread
.
Sleep
(
1
);
}
}
if
(
num
>=
Overtime
)
if
(
num
>=
Overtime
)
{
{
LogUtil
.
error
(
PortName
+
" 发送数据"
+
ByteToString
(
SendData
)
+
"等待接受数据超时"
);
LogUtil
.
error
(
PortName
+
" 发送数据"
+
ByteToString
(
SendData
)
+
"等待接受数据超时"
);
}
}
if
(
_serialPort
.
BytesToRead
>=
ReceiveData
.
Length
)
if
(
_serialPort
.
BytesToRead
>=
ReceiveData
.
Length
)
...
@@ -390,12 +401,12 @@ namespace OnlineStore.Common
...
@@ -390,12 +401,12 @@ namespace OnlineStore.Common
{
{
ret
=
_serialPort
.
Read
(
ReceiveData
,
0
,
_serialPort
.
BytesToRead
);
ret
=
_serialPort
.
Read
(
ReceiveData
,
0
,
_serialPort
.
BytesToRead
);
}
}
return
ret
;
return
ret
;
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
PortName
+
" 发送数据"
+
ByteToString
(
SendData
)
+
" 出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
PortName
+
" 发送数据"
+
ByteToString
(
SendData
)
+
" 出错:"
+
ex
.
ToString
());
}
}
finally
finally
{
{
...
@@ -410,8 +421,8 @@ namespace OnlineStore.Common
...
@@ -410,8 +421,8 @@ namespace OnlineStore.Common
}
}
return
-
1
;
return
-
1
;
}
}
#
endregion
#
endregion
#
region
获取串口
#
region
获取串口
...
@@ -457,7 +468,7 @@ namespace OnlineStore.Common
...
@@ -457,7 +468,7 @@ namespace OnlineStore.Common
#
endregion
#
endregion
#
region
十六进制字符串转字节型
#
region
十六进制字符串转字节型
/// <summary>
/// <summary>
/// 打包方法,可以将十六制字符串转成byte[] ,字符串没有空格
/// 打包方法,可以将十六制字符串转成byte[] ,字符串没有空格
/// </summary>
/// </summary>
...
@@ -493,7 +504,7 @@ namespace OnlineStore.Common
...
@@ -493,7 +504,7 @@ namespace OnlineStore.Common
return
putout
;
return
putout
;
}
}
#
endregion
#
endregion
#
region
字节型转十六进制字符串
#
region
字节型转十六进制字符串
/// <summary>
/// <summary>
/// 字节数组转16进制字符串
/// 字节数组转16进制字符串
...
@@ -557,4 +568,4 @@ namespace OnlineStore.Common
...
@@ -557,4 +568,4 @@ namespace OnlineStore.Common
#
endregion
#
endregion
}
}
}
}
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
be18814
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.DeviceLibrary</RootNamespace>
<RootNamespace>OnlineStore.DeviceLibrary</RootNamespace>
<AssemblyName>DeviceLibrary</AssemblyName>
<AssemblyName>DeviceLibrary</AssemblyName>
<TargetFrameworkVersion>v4.
0
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
6.1
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<TargetFrameworkProfile />
</PropertyGroup>
</PropertyGroup>
...
@@ -67,8 +67,6 @@
...
@@ -67,8 +67,6 @@
<Compile Include="PanasonicServo\ACCMDManager.cs" />
<Compile Include="PanasonicServo\ACCMDManager.cs" />
<Compile Include="PanasonicServo\ACServerManager.cs" />
<Compile Include="PanasonicServo\ACServerManager.cs" />
<Compile Include="PanasonicServo\ACServerManager_Partial.cs" />
<Compile Include="PanasonicServo\ACServerManager_Partial.cs" />
<Compile Include="ShuoKe\MeteringSignalBean.cs" />
<Compile Include="ShuoKe\ShuoKeController.cs" />
<Compile Include="store\LineMoveP.cs" />
<Compile Include="store\LineMoveP.cs" />
<Compile Include="store\LineAlarm.cs">
<Compile Include="store\LineAlarm.cs">
<SubType>Code</SubType>
<SubType>Code</SubType>
...
...
source/DeviceLibrary/KangNaiDe/KNDAIManager.cs
查看文件 @
be18814
...
@@ -128,6 +128,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -128,6 +128,11 @@ namespace OnlineStore.DeviceLibrary
try
try
{
{
isProcess
=
true
;
isProcess
=
true
;
if
(
StoreManager
.
Store
==
null
)
{
isProcess
=
false
;
return
;
}
bool
IsNeedReadAI
=
StoreManager
.
Store
.
KNDIOValue
(
IO_Type
.
TrayCheck_Door
).
Equals
(
IO_VALUE
.
HIGH
);
bool
IsNeedReadAI
=
StoreManager
.
Store
.
KNDIOValue
(
IO_Type
.
TrayCheck_Door
).
Equals
(
IO_VALUE
.
HIGH
);
IsNeedReadAI
=
(
IsNeedReadAI
||
NeedReadAI
);
IsNeedReadAI
=
(
IsNeedReadAI
||
NeedReadAI
);
TimeSpan
span
=
DateTime
.
Now
-
PreCheckTime
;
TimeSpan
span
=
DateTime
.
Now
-
PreCheckTime
;
...
...
source/DeviceLibrary/KangNaiDe/KNDManager.cs
查看文件 @
be18814
...
@@ -21,71 +21,70 @@ namespace OnlineStore.DeviceLibrary
...
@@ -21,71 +21,70 @@ namespace OnlineStore.DeviceLibrary
public
static
ushort
DoStartAddress
=
100
;
public
static
ushort
DoStartAddress
=
100
;
public
static
ushort
DefualtLength
=
16
;
public
static
ushort
DefualtLength
=
16
;
private
static
byte
DefualtSlaveID
=
255
;
private
static
byte
DefualtSlaveID
=
255
;
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
private
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
Dictionary
<
string
,
MasterTcpClient
>
mastMap
=
new
Dictionary
<
string
,
MasterTcpClient
>();
private
static
Dictionary
<
string
,
MasterTcpClient
>
mastMap
=
new
Dictionary
<
string
,
MasterTcpClient
>();
public
static
Dictionary
<
string
,
List
<
KNDIO
>>
DIValueMap
=
new
Dictionary
<
string
,
List
<
KNDIO
>>();
private
static
Dictionary
<
string
,
List
<
KNDIO
>>
DIValueMap
=
new
Dictionary
<
string
,
List
<
KNDIO
>>();
public
static
Dictionary
<
string
,
List
<
KNDIO
>>
DOValueMap
=
new
Dictionary
<
string
,
List
<
KNDIO
>>();
private
static
Dictionary
<
string
,
List
<
KNDIO
>>
DOValueMap
=
new
Dictionary
<
string
,
List
<
KNDIO
>>();
private
static
object
DIMapLock
=
""
;
private
static
object
DIMapLock
=
""
;
private
static
object
DOMapLock
=
""
;
private
static
object
DOMapLock
=
""
;
public
static
System
.
Timers
.
Timer
timer
=
null
;
private
static
System
.
Timers
.
Timer
timer
=
null
;
private
static
bool
isWrite
=
false
;
private
static
bool
isWrite
=
false
;
public
static
void
ConnectionIP
(
string
ioIp
,
ushort
port
)
private
static
void
ConnectionIP
(
string
ioIp
,
ushort
port
)
{
{
if
(
timer
==
null
)
{
timer
=
new
System
.
Timers
.
Timer
();
timer
.
Interval
=
300
;
timer
.
AutoReset
=
true
;
timer
.
Elapsed
+=
timer_Elapsed
;
timer
.
Enabled
=
true
;
}
MasterTcpClient
MBmaster
=
null
;
if
(
mastMap
.
ContainsKey
(
ioIp
))
{
MBmaster
=
mastMap
[
ioIp
];
if
(
null
!=
MBmaster
)
{
MBmaster
.
disconnect
();
MBmaster
.
Dispose
();
MBmaster
=
null
;
//lock (DIMapLock)
//{
// if (DIValueMap.ContainsKey(ioIp))
// {
// DIValueMap.Remove(ioIp);
// }
//}
lock
(
DOMapLock
)
MasterTcpClient
MBmaster
=
null
;
{
if
(
mastMap
.
ContainsKey
(
ioIp
))
if
(
DOValueMap
.
ContainsKey
(
ioIp
))
{
{
MBmaster
=
mastMap
[
ioIp
];
DOValueMap
.
Remove
(
ioIp
);
}
}
}
mastMap
.
Remove
(
ioIp
);
}
try
{
// Create new modbus master and add event functions
MBmaster
=
new
MasterTcpClient
(
ioIp
,
port
);
MBmaster
.
OnResponseData
+=
new
MasterTcpClient
.
ResponseData
(
MBmaster_OnResponseData
);
MBmaster
.
OnException
+=
new
MasterTcpClient
.
ExceptionData
(
MBmaster_OnException
);
MBmaster
.
autoConnectOfBreak
=
false
;
mastMap
.
Add
(
ioIp
,
MBmaster
);
Thread
.
Sleep
(
10
);
if
(
null
!=
MBmaster
)
LogUtil
.
info
(
"连接IO模块["
+
ioIp
+
"]成功"
);
{
//读取所有的DO
MBmaster
.
disconnect
();
ReadMultipleDO
(
ioIp
,
DefualtSlaveID
,
DoStartAddress
,
DefualtLength
);
MBmaster
.
Dispose
();
}
MBmaster
=
null
;
catch
(
Exception
error
)
//lock (DIMapLock)
{
//{
LogUtil
.
error
(
LOGGER
,
"连接IO模块["
+
ioIp
+
"]出错:"
+
error
.
ToString
());
// if (DIValueMap.ContainsKey(ioIp))
}
// {
}
// DIValueMap.Remove(ioIp);
// }
//}
lock
(
DOMapLock
)
{
if
(
DOValueMap
.
ContainsKey
(
ioIp
))
{
DOValueMap
.
Remove
(
ioIp
);
}
}
}
mastMap
.
Remove
(
ioIp
);
}
try
{
// Create new modbus master and add event functions
MBmaster
=
new
MasterTcpClient
(
ioIp
,
port
);
MBmaster
.
OnResponseData
+=
new
MasterTcpClient
.
ResponseData
(
MBmaster_OnResponseData
);
MBmaster
.
OnException
+=
new
MasterTcpClient
.
ExceptionData
(
MBmaster_OnException
);
MBmaster
.
autoConnectOfBreak
=
false
;
mastMap
.
Add
(
ioIp
,
MBmaster
);
Thread
.
Sleep
(
10
);
if
(
MBmaster
.
connected
)
{
LogUtil
.
info
(
"连接IO模块["
+
ioIp
+
"]成功"
);
MBmaster
.
ReadCoils
(
1
,
DoStartAddress
,
DefualtLength
,
DefualtSlaveID
);
}
else
{
LogUtil
.
info
(
"连接IO模块["
+
ioIp
+
"]失败,等待重连"
);
}
}
catch
(
Exception
error
)
{
LogUtil
.
error
(
LOGGER
,
"连接IO模块["
+
ioIp
+
"]出错:"
+
error
.
ToString
());
}
}
/// <summary>
/// <summary>
/// 判断Io模块是否连接
/// 判断Io模块是否连接
/// </summary>
/// </summary>
...
@@ -130,7 +129,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -130,7 +129,7 @@ namespace OnlineStore.DeviceLibrary
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
LOGGER
,
"出错啦:"
+
ex
.
ToString
()
);
LogUtil
.
error
(
LOGGER
,
"出错啦:"
+
ex
.
StackTrace
);
}
}
Thread
.
Sleep
(
1
);
Thread
.
Sleep
(
1
);
}
}
...
@@ -142,14 +141,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -142,14 +141,22 @@ namespace OnlineStore.DeviceLibrary
foreach
(
string
ip
in
DIONameList
)
foreach
(
string
ip
in
DIONameList
)
{
{
ConnectionIP
(
ip
,
port
);
ConnectionIP
(
ip
,
port
);
}
}
}
if
(
timer
==
null
)
public
static
void
ConnectionKND
(
string
ip
)
{
{
timer
=
new
System
.
Timers
.
Timer
();
//端口号暂时使用固定的502;
timer
.
Interval
=
1000
;
ushort
port
=
502
;
timer
.
AutoReset
=
true
;
ConnectionIP
(
ip
,
port
);
timer
.
Elapsed
+=
timer_Elapsed
;
}
timer
.
Enabled
=
true
;
}
}
//public static void ConnectionKND(string ip)
//{
// //端口号暂时使用固定的502;
// ushort port = 502;
// ConnectionIP(ip, port);
//}
public
static
void
ReadMultipleDI
(
string
ioIp
,
byte
slaveId
,
ushort
StartAddress
,
ushort
length
)
public
static
void
ReadMultipleDI
(
string
ioIp
,
byte
slaveId
,
ushort
StartAddress
,
ushort
length
)
{
{
isWrite
=
true
;
isWrite
=
true
;
...
@@ -187,9 +194,15 @@ namespace OnlineStore.DeviceLibrary
...
@@ -187,9 +194,15 @@ namespace OnlineStore.DeviceLibrary
{
{
isWrite
=
true
;
isWrite
=
true
;
foreach
(
string
key
in
mastMap
.
Keys
)
foreach
(
string
key
in
mastMap
.
Keys
)
{
{
byte
[]
data
=
new
byte
[]
{
0
,
0
};
try
WriteMultipleDO
(
key
,
DefualtSlaveID
,
DoStartAddress
,
DefualtLength
,
data
);
{
byte
[]
data
=
new
byte
[]
{
0
,
0
};
WriteMultipleDO
(
key
,
DefualtSlaveID
,
DoStartAddress
,
DefualtLength
,
data
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"CloseAllDO出错:"
+
ex
.
ToString
());
}
}
}
isWrite
=
false
;
isWrite
=
false
;
}
}
...
...
source/DeviceLibrary/PanasonicServo/ACCMDManager.cs
查看文件 @
be18814
...
@@ -10,9 +10,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -10,9 +10,17 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 0132h 原点接近传感器输入 (HOME) 状态 ReadOnly 0: 输入 OFF 1: 输入 ON
/// 0132h 原点接近传感器输入 (HOME) 状态 ReadOnly 0: 输入 OFF 1: 输入 ON
/// </summary>
/// </summary>
public
static
string
Home_Single
=
"0132"
;
public
static
string
Home_Single
=
"0132"
;
// 0022h 负方向驱动禁止输入(NOT) ReadOnly 0: 输入 OFF、 1: 输入 ON
// 0023h 正方向驱动禁止输入(POT) ReadOnly 0: 输入 OFF、 1: 输入 ON
/// <summary>
/// 0022h 负方向驱动禁止输入(NOT) ReadOnly 0: 输入 OFF、 1: 输入 ON
/// </summary>
public
static
string
Limit_Negative_Single
=
"0022"
;
/// <summary>
/// 0023h 正方向驱动禁止输入(POT) ReadOnly 0: 输入 OFF、 1: 输入 ON
/// </summary>
public
static
string
Limit_Positive_Single
=
"0023"
;
/// <summary>
/// <summary>
///速度 4601
///速度 4601
/// </summary>
/// </summary>
...
@@ -320,6 +328,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -320,6 +328,7 @@ namespace OnlineStore.DeviceLibrary
//sendData[4] = dataByte[1];
//sendData[4] = dataByte[1];
//sendData[5] = dataByte[0];
//sendData[5] = dataByte[0];
}
}
sendData
=
buildCheckData
(
sendData
,
sendData
.
Length
-
2
);
sendData
=
buildCheckData
(
sendData
,
sendData
.
Length
-
2
);
...
...
source/DeviceLibrary/PanasonicServo/ACServerManager.cs
查看文件 @
be18814
using
OnlineStore.Common
;
using
OnlineStore.Common
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.IO.Ports
;
using
System.IO.Ports
;
using
System.Linq
;
using
System.Linq
;
using
System.Text
;
using
System.Text
;
using
System.Threading
;
using
System.Threading
;
namespace
OnlineStore.DeviceLibrary
namespace
OnlineStore.DeviceLibrary
{
{
...
@@ -14,11 +15,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -14,11 +15,11 @@ namespace OnlineStore.DeviceLibrary
public
partial
class
ACServerManager
public
partial
class
ACServerManager
{
{
public
static
bool
IsShowMsg
=
false
;
public
static
bool
IsShowMsg
=
false
;
private
static
int
SleepMSendons
=
10
0
;
private
static
int
SleepMSendons
=
6
0
;
private
static
int
ReviceOutTimeMS
=
100
;
private
static
Dictionary
<
string
,
Dictionary
<
string
,
int
>>
ComAddrValue
=
new
Dictionary
<
string
,
Dictionary
<
string
,
int
>>();
private
static
Dictionary
<
string
,
Dictionary
<
string
,
int
>>
ComAddrValue
=
new
Dictionary
<
string
,
Dictionary
<
string
,
int
>>();
private
static
string
mapObj
=
""
;
private
static
string
mapObj
=
""
;
private
static
int
GetAddrValue
(
string
portName
,
int
slvAddr
,
string
addr
)
private
static
int
GetAddrValue
(
string
portName
,
int
slvAddr
,
string
addr
)
{
{
int
value
=
-
1
;
int
value
=
-
1
;
...
@@ -73,20 +74,31 @@ namespace OnlineStore.DeviceLibrary
...
@@ -73,20 +74,31 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
public
static
void
ClearSpeed
()
{
LogUtil
.
info
(
"清理之前设置保存的速度列表"
);
ComAddrValue
=
new
Dictionary
<
string
,
Dictionary
<
string
,
int
>>();
}
public
static
bool
OpenPort
(
string
portName
)
public
static
bool
OpenPort
(
string
portName
)
{
{
if
(
serialBeanMap
.
ContainsKey
(
portName
))
if
(
serialBeanMap
.
ContainsKey
(
portName
))
{
{
return
true
;
return
true
;
}
int
ACBaudRate
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
ACBaudRate
);
if
(
ACBaudRate
<=
0
)
{
ACBaudRate
=
9600
;
}
}
AcSerialBean
bean
=
new
AcSerialBean
(
portName
,
9600
,
Parity
.
Even
,
8
,
StopBits
.
One
);
AcSerialBean
bean
=
new
AcSerialBean
(
portName
,
ACBaudRate
,
Parity
.
Even
,
8
,
StopBits
.
One
);
bool
result
=
bean
.
openPort
();
bool
result
=
bean
.
openPort
();
if
(!
result
)
if
(!
result
)
{
{
LogUtil
.
info
(
"打开串口【"
+
portName
+
"】失败"
);
LogUtil
.
info
(
"打开串口【"
+
portName
+
"】
【"
+
ACBaudRate
+
"】
失败"
);
return
false
;
return
false
;
}
}
LogUtil
.
info
(
"打开串口【"
+
portName
+
"】成功"
);
LogUtil
.
info
(
"打开串口【"
+
portName
+
"】
【"
+
ACBaudRate
+
"】
成功"
);
//bean.DataReceived += DataReceived;
//bean.DataReceived += DataReceived;
if
(
serialBeanMap
.
ContainsKey
(
portName
))
if
(
serialBeanMap
.
ContainsKey
(
portName
))
...
@@ -114,8 +126,19 @@ namespace OnlineStore.DeviceLibrary
...
@@ -114,8 +126,19 @@ namespace OnlineStore.DeviceLibrary
{
{
serialBeanMap
.
Remove
(
portName
);
serialBeanMap
.
Remove
(
portName
);
}
}
LogUtil
.
info
(
"ACServerManager 关闭串口【"
+
portName
+
"】 "
);
}
}
public
static
void
CloseAllPort
()
{
List
<
string
>
kes
=
new
List
<
string
>(
serialBeanMap
.
Keys
);
foreach
(
string
key
in
kes
)
{
ColsePort
(
key
);
}
}
/// <summary>
/// <summary>
/// 是否成功打开伺服
/// 是否成功打开伺服
/// </summary>
/// </summary>
...
@@ -128,7 +151,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -128,7 +151,7 @@ namespace OnlineStore.DeviceLibrary
PreReadCoilAddr
=
ACCMDManager
.
ServerOn_Addr
;
PreReadCoilAddr
=
ACCMDManager
.
ServerOn_Addr
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
PreReadCoilAddr
,
"0000"
,
1
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
PreReadCoilAddr
,
"0000"
,
1
);
//SendData(portName,dataArray);
//SendData(portName,dataArray);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
100
,
6
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
6
);
int
result
=
GetCoilData
(
portName
,
reviceData
,
PreReadCoilAddr
);
int
result
=
GetCoilData
(
portName
,
reviceData
,
PreReadCoilAddr
);
//TODO
//TODO
return
result
>=
1
;
return
result
>=
1
;
...
@@ -152,7 +175,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -152,7 +175,6 @@ namespace OnlineStore.DeviceLibrary
//把数字转换为四位的字符串
//把数字转换为四位的字符串
public
static
string
SpeedToStr
(
int
speed
,
int
length
)
public
static
string
SpeedToStr
(
int
speed
,
int
length
)
{
{
speed
=
Math
.
Abs
(
speed
);
string
str
=
String
.
Format
(
"{0:X}"
,
speed
);
string
str
=
String
.
Format
(
"{0:X}"
,
speed
);
return
str
.
PadLeft
(
length
,
'0'
);
return
str
.
PadLeft
(
length
,
'0'
);
}
}
...
@@ -206,7 +228,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -206,7 +228,7 @@ namespace OnlineStore.DeviceLibrary
//SendStrAndSleep(portName, slvAddrStr + "06 4638 " + SpeedToStr(homeLowSpeed, 4) + " ffff", sleep);
//SendStrAndSleep(portName, slvAddrStr + "06 4638 " + SpeedToStr(homeLowSpeed, 4) + " ffff", sleep);
////原点返回加速度=30
////原点返回加速度=30
//SendStrAndSleep(portName, slvAddrStr + "06 4639 " + SpeedToStr(homeAddSpeed, 4) + " ffff", sleep);
//SendStrAndSleep(portName, slvAddrStr + "06 4639 " + SpeedToStr(homeAddSpeed, 4) + " ffff", sleep);
UpdateEEPROM
(
portName
,
slvAddr
);
//
UpdateEEPROM(portName, slvAddr);
}
}
public
static
void
UpdateEEPROM
(
string
portName
,
int
slvAddr
)
public
static
void
UpdateEEPROM
(
string
portName
,
int
slvAddr
)
{
{
...
@@ -286,8 +308,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -286,8 +308,7 @@ namespace OnlineStore.DeviceLibrary
data
=
ACCMDManager
.
buildCheckData
(
data
,
data
.
Length
-
2
);
data
=
ACCMDManager
.
buildCheckData
(
data
,
data
.
Length
-
2
);
SendData
(
portName
,
data
);
SendData
(
portName
,
data
);
System
.
Threading
.
Thread
.
Sleep
(
SleepMSendons
);
System
.
Threading
.
Thread
.
Sleep
(
SleepMSendons
);
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_RelMove
);
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_RelMove
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
}
}
...
@@ -302,8 +323,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -302,8 +323,8 @@ namespace OnlineStore.DeviceLibrary
int
isHomeEnd
=
GetHomeEndStatus
(
portName
,
slvAddr
);
int
isHomeEnd
=
GetHomeEndStatus
(
portName
,
slvAddr
);
if
(
isHomeEnd
.
Equals
(
1
))
if
(
isHomeEnd
.
Equals
(
1
))
{
{
int
value
=
2000
;
int
value
=
2000
;
LogUtil
.
info
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】原点返回时发现原点已亮且回过原点,需要先相对走"
+
value
);
LogUtil
.
info
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】原点返回时发现原点已亮且回过原点,需要先相对走"
+
value
);
RelMove
(
portName
,
slvAddr
,
value
);
RelMove
(
portName
,
slvAddr
,
value
);
bool
isStop
=
false
;
bool
isStop
=
false
;
for
(
int
i
=
0
;
i
<=
10
;
i
++)
for
(
int
i
=
0
;
i
<=
10
;
i
++)
...
@@ -312,22 +333,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -312,22 +333,22 @@ namespace OnlineStore.DeviceLibrary
if
(
GetBusyStatus
(
portName
,
slvAddr
).
Equals
(
0
))
if
(
GetBusyStatus
(
portName
,
slvAddr
).
Equals
(
0
))
{
{
isStop
=
true
;
isStop
=
true
;
LogUtil
.
info
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】相对走"
+
value
+
"已结束"
);
LogUtil
.
info
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】
相对走"
+
value
+
"已结束"
);
break
;
break
;
}
}
}
}
if
(!
isStop
)
if
(!
isStop
)
{
{
LogUtil
.
info
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】相对走"
+
value
+
"已等待2分钟,直接停止"
);
LogUtil
.
info
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】
相对走"
+
value
+
"已等待2分钟,直接停止"
);
SuddenStop
(
portName
,
slvAddr
);
SuddenStop
(
portName
,
slvAddr
);
}
}
}
}
else
else
{
{
int
volSpeed
=
Math
.
Abs
(
speed
/
5
);
int
volSpeed
=
Math
.
Abs
(
speed
/
5
);
int
time
=
1500
;
int
time
=
1500
;
LogUtil
.
info
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】原点返回时发现原点已亮但未回过原点,先匀速向上走"
+
time
+
",速度["
+
volSpeed
+
"]"
);
LogUtil
.
info
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】原点返回时发现原点已亮但未回过原点,先匀速向上走"
+
time
+
",速度["
+
volSpeed
+
"]"
);
//需要匀速向上走
//需要匀速向上走
ACServerManager
.
SpeedMove
(
portName
,
slvAddr
,
volSpeed
);
ACServerManager
.
SpeedMove
(
portName
,
slvAddr
,
volSpeed
);
Thread
.
Sleep
(
time
);
Thread
.
Sleep
(
time
);
...
@@ -336,35 +357,43 @@ namespace OnlineStore.DeviceLibrary
...
@@ -336,35 +357,43 @@ namespace OnlineStore.DeviceLibrary
Thread
.
Sleep
(
100
);
Thread
.
Sleep
(
100
);
}
}
}
}
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
"轴【"
+
portName
+
"】原点返回前验证是否在原点出错:"
+
ex
.
StackTrace
);
LogUtil
.
error
(
"轴【"
+
portName
+
"
_"
+
slvAddr
+
"
】原点返回前验证是否在原点出错:"
+
ex
.
StackTrace
);
}
}
//默认负方向原点返回
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_HomeMove1
);
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_HomeMove1
);
LogUtil
.
debug
(
"回原点:反方向"
);
//}
Thread
.
Sleep
(
SleepMSendons
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
}
public
static
void
ZhHomeMove
(
string
portName
,
int
slvAddr
)
{
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_HomeMove0
);
LogUtil
.
info
(
portName
+
"回原点:正方向"
);
Thread
.
Sleep
(
SleepMSendons
);
Thread
.
Sleep
(
SleepMSendons
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
}
}
public
static
void
S
peedMove
(
string
portName
,
int
slvAddr
,
int
speed
)
public
static
void
S
etSpeed
(
string
portName
,
int
slvAddr
,
int
speed
)
{
{
int
preSpeed
=
GetAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
Speed_Addr
);
int
preSpeed
=
GetAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
Speed_Addr
);
if
((
preSpeed
.
Equals
(-
1
))
||
(!
preSpeed
.
Equals
(
Math
.
Abs
(
speed
))))
if
((
preSpeed
.
Equals
(-
1
))
||
(!
preSpeed
.
Equals
(
Math
.
Abs
(
speed
))))
{
{
string
v1
=
slvAddr
+
"064601 "
+
ACServerManager
.
SpeedToStr
(
speed
,
4
)
+
" ffff"
;
string
v1
=
slvAddr
+
"064601 "
+
ACServerManager
.
SpeedToStr
(
speed
,
4
)
+
" ffff"
;
LogUtil
.
debug
(
"轴【"
+
portName
+
"】更新速度为【"
+
speed
+
"】,发送数据【"
+
v1
+
"】"
);
LogUtil
.
debug
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】更新速度为【"
+
speed
+
"】,发送数据【"
+
v1
+
"】"
);
SendStrAndSleep
(
portName
,
v1
,
SleepMSendons
);
Thread
.
Sleep
(
SleepMSendons
);
UpdateAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
Speed_Addr
,
Math
.
Abs
(
speed
));
for
(
int
i
=
1
;
i
<=
3
;
i
++)
{
bool
result
=
SendStrAndSleep
(
portName
,
v1
,
SleepMSendons
);
if
(
result
)
{
break
;
}
else
{
LogUtil
.
error
(
"轴【"
+
portName
+
"_"
+
slvAddr
+
"】更新速度为【"
+
speed
+
"】,发送数据【"
+
v1
+
"】,第【"
+
i
+
"】次失败"
);
Thread
.
Sleep
(
SleepMSendons
);
}
}
UpdateAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
Speed_Addr
,
Math
.
Abs
(
speed
));
Thread
.
Sleep
(
SleepMSendons
);
Thread
.
Sleep
(
SleepMSendons
);
}
}
}
public
static
void
SpeedMove
(
string
portName
,
int
slvAddr
,
int
speed
)
{
SetSpeed
(
portName
,
slvAddr
,
speed
);
if
(
speed
>
0
)
if
(
speed
>
0
)
{
{
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_VolMove0
);
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_VolMove0
);
...
@@ -376,6 +405,21 @@ namespace OnlineStore.DeviceLibrary
...
@@ -376,6 +405,21 @@ namespace OnlineStore.DeviceLibrary
//Thread.Sleep(SleepMSendons);
//Thread.Sleep(SleepMSendons);
OpenAndCloseSTB
(
portName
,
slvAddr
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
}
}
public
static
bool
isInPosition
(
ConfigMoveAxis
Axis
,
int
PPosition
)
{
int
outCount
=
ACServerManager
.
GetActualtPosition
(
Axis
.
DeviceName
,
Axis
.
GetAxisValue
());
int
errorCount
=
Math
.
Abs
(
outCount
-
PPosition
);
if
(
errorCount
<=
Axis
.
CanErrorCountMin
)
{
return
true
;
}
else
{
return
false
;
}
}
public
static
void
AbsMove
(
string
portName
,
int
slvAddr
,
int
targetPosition
,
int
targetSpeed
)
public
static
void
AbsMove
(
string
portName
,
int
slvAddr
,
int
targetPosition
,
int
targetSpeed
)
{
{
//先更新速度
//先更新速度
...
@@ -387,7 +431,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -387,7 +431,7 @@ namespace OnlineStore.DeviceLibrary
//速度 V1 =100
//速度 V1 =100
string
v1
=
slvAddrStr
+
"064601 "
+
SpeedToStr
(
targetSpeed
,
4
)
+
" ffff"
;
string
v1
=
slvAddrStr
+
"064601 "
+
SpeedToStr
(
targetSpeed
,
4
)
+
" ffff"
;
SendStrAndSleep
(
portName
,
v1
,
SleepMSendons
);
SendStrAndSleep
(
portName
,
v1
,
SleepMSendons
);
UpdateAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
Speed_Addr
,
targetSpeed
);
UpdateAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
Speed_Addr
,
targetSpeed
);
}
}
//绝对运动
//绝对运动
AbsMove
(
portName
,
slvAddr
,
targetPosition
);
AbsMove
(
portName
,
slvAddr
,
targetPosition
);
...
@@ -432,7 +476,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -432,7 +476,10 @@ namespace OnlineStore.DeviceLibrary
data
=
ACCMDManager
.
buildCheckData
(
data
,
data
.
Length
-
2
);
data
=
ACCMDManager
.
buildCheckData
(
data
,
data
.
Length
-
2
);
SendData
(
portName
,
data
);
SendData
(
portName
,
data
);
Thread
.
Sleep
(
SleepMSendons
);
Thread
.
Sleep
(
SleepMSendons
);
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_AbsMove
);
UpdateBlock
(
portName
,
slvAddr
,
ACCMDManager
.
Block_AbsMove
);
//data = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteRegisters, ACCMDManager.BlockNo, ACCMDManager.Block_AbsMove, 2);
//SendData(portName, data);
//Thread.Sleep(SleepMSendons);
OpenAndCloseSTB
(
portName
,
slvAddr
);
OpenAndCloseSTB
(
portName
,
slvAddr
);
}
}
}
}
...
...
source/DeviceLibrary/PanasonicServo/ACServerManager_Partial.cs
查看文件 @
be18814
using
OnlineStore.Common
;
using
OnlineStore.Common
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.IO.Ports
;
using
System.IO.Ports
;
...
@@ -26,15 +27,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -26,15 +27,16 @@ namespace OnlineStore.DeviceLibrary
}
}
return
null
;
return
null
;
}
}
public
static
void
SendStrAndSleep
(
string
portName
,
string
str
,
int
sleepS
)
public
static
bool
SendStrAndSleep
(
string
portName
,
string
str
,
int
sleepS
)
{
{
byte
[]
data
=
AcSerialBean
.
StringToByte
(
str
);
byte
[]
data
=
AcSerialBean
.
StringToByte
(
str
);
data
[
data
.
Length
-
1
]
=
0x00
;
data
[
data
.
Length
-
1
]
=
0x00
;
data
[
data
.
Length
-
2
]
=
0x00
;
data
[
data
.
Length
-
2
]
=
0x00
;
data
=
ACCMDManager
.
buildCheckData
(
data
,
data
.
Length
-
2
);
data
=
ACCMDManager
.
buildCheckData
(
data
,
data
.
Length
-
2
);
SendData
(
portName
,
data
);
bool
result
=
SendData
(
portName
,
data
);
System
.
Threading
.
Thread
.
Sleep
(
sleepS
);
System
.
Threading
.
Thread
.
Sleep
(
sleepS
);
return
result
;
}
}
public
static
void
SaveData
(
string
portName
,
byte
slvAddr
,
string
regAddr
,
int
value
)
public
static
void
SaveData
(
string
portName
,
byte
slvAddr
,
string
regAddr
,
int
value
)
...
@@ -76,7 +78,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -76,7 +78,7 @@ namespace OnlineStore.DeviceLibrary
return
;
return
;
}
}
byte
[]
returnData
=
SendCommand
(
portName
,
data
,
50
,
reviceLength
);
byte
[]
returnData
=
SendCommand
(
portName
,
data
,
ReviceOutTimeMS
,
reviceLength
);
string
strSend
=
""
;
string
strSend
=
""
;
for
(
int
i
=
0
;
i
<
returnData
.
Length
;
i
++)
for
(
int
i
=
0
;
i
<
returnData
.
Length
;
i
++)
{
{
...
@@ -87,13 +89,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -87,13 +89,14 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
"串口"
+
portName
+
" 收到数据:"
+
strSend
+
""
);
LogUtil
.
info
(
"串口"
+
portName
+
" 收到数据:"
+
strSend
+
""
);
}
}
}
}
public
static
void
SendData
(
string
portName
,
byte
[]
data
)
public
static
bool
SendData
(
string
portName
,
byte
[]
data
)
{
{
if
(
data
==
null
)
if
(
data
==
null
)
{
{
return
;
return
false
;
}
}
byte
[]
returnData
=
SendCommand
(
portName
,
data
,
50
,
8
);
bool
result
=
false
;
byte
[]
returnData
=
SendCommand
(
portName
,
data
,
ReviceOutTimeMS
,
8
,
out
result
);
if
(
returnData
!=
null
)
if
(
returnData
!=
null
)
{
{
string
strSend
=
""
;
string
strSend
=
""
;
...
@@ -106,6 +109,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -106,6 +109,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
"串口"
+
portName
+
" 收到数据:"
+
strSend
+
""
);
LogUtil
.
info
(
"串口"
+
portName
+
" 收到数据:"
+
strSend
+
""
);
}
}
}
}
return
result
;
}
}
/// <summary>
/// <summary>
/// 发送数据并获取返回值
/// 发送数据并获取返回值
...
@@ -115,9 +119,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -115,9 +119,9 @@ namespace OnlineStore.DeviceLibrary
/// <returns>返回值的长度</returns>
/// <returns>返回值的长度</returns>
public
static
byte
[]
SendCommand
(
string
portName
,
byte
[]
data
,
int
outTime
,
int
reviceLength
)
public
static
byte
[]
SendCommand
(
string
portName
,
byte
[]
data
,
int
outTime
,
int
reviceLength
)
{
{
if
(
outTime
>
8
0
)
if
(
outTime
<
10
0
)
{
{
outTime
=
8
0
;
outTime
=
10
0
;
}
}
byte
[]
returnData
=
null
;
byte
[]
returnData
=
null
;
...
@@ -147,7 +151,69 @@ namespace OnlineStore.DeviceLibrary
...
@@ -147,7 +151,69 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
bean
.
SendCommand
(
data
,
ref
returnData
,
outTime
,
reviceLength
);
int
ret
=
bean
.
SendCommand
(
data
,
ref
returnData
,
outTime
,
reviceLength
);
if
(!
ret
.
Equals
(
reviceLength
))
{
LogUtil
.
error
(
"串口"
+
portName
+
" 写入数据:"
+
strSend
+
",预计返回字节数【"
+
reviceLength
+
"】实际返回【"
+
ret
+
"】"
);
}
System
.
Threading
.
Thread
.
Sleep
(
2
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
info
(
ex
.
ToString
());
}
return
returnData
;
}
/// <summary>
/// 发送数据并获取返回值
/// </summary>
/// <param name="data">发送的数据</param>
/// <param name="outTime">超时时间</param>
/// <param name="result">返回结果,是否发送成功</param>
/// <returns>返回值的长度</returns>
public
static
byte
[]
SendCommand
(
string
portName
,
byte
[]
data
,
int
outTime
,
int
reviceLength
,
out
bool
result
)
{
if
(
outTime
<
100
)
{
outTime
=
100
;
}
byte
[]
returnData
=
null
;
result
=
false
;
try
{
if
(
data
==
null
)
{
return
returnData
;
}
string
strSend
=
""
;
for
(
int
i
=
0
;
i
<
data
.
Length
;
i
++)
{
strSend
+=
string
.
Format
(
"{0:X2} "
,
data
[
i
]);
}
if
(
strSend
.
Equals
(
""
))
{
return
returnData
;
}
if
(
IsShowMsg
)
{
LogUtil
.
info
(
"串口"
+
portName
+
" 写入数据:"
+
strSend
+
""
);
}
AcSerialBean
bean
=
GetSerialBean
(
portName
);
if
(
bean
==
null
)
{
LogUtil
.
debug
(
"ACServerManager SendCommand 试图向未打开串口【"
+
portName
+
"】写入数据:"
+
strSend
+
"。"
);
}
else
{
int
ret
=
bean
.
SendCommand
(
data
,
ref
returnData
,
outTime
,
reviceLength
);
if
(!
ret
.
Equals
(
reviceLength
))
{
LogUtil
.
error
(
"串口"
+
portName
+
" 写入数据:"
+
strSend
+
",预计返回字节数【"
+
reviceLength
+
"】实际返回【"
+
ret
+
"】"
);
}
else
{
result
=
true
;
}
System
.
Threading
.
Thread
.
Sleep
(
2
);
System
.
Threading
.
Thread
.
Sleep
(
2
);
}
}
}
}
...
@@ -157,7 +223,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -157,7 +223,6 @@ namespace OnlineStore.DeviceLibrary
}
}
return
returnData
;
return
returnData
;
}
}
public
static
void
WriteData
(
string
portName
,
int
slvAddr
,
string
addr
,
string
data
,
byte
cmd
,
int
length
)
public
static
void
WriteData
(
string
portName
,
int
slvAddr
,
string
addr
,
string
data
,
byte
cmd
,
int
length
)
{
{
...
@@ -189,7 +254,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -189,7 +254,13 @@ namespace OnlineStore.DeviceLibrary
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
SendData
(
portName
,
dataArray
);
SendData
(
portName
,
dataArray
);
}
}
public
static
void
SuddenStop
(
ConfigMoveAxis
axis
)
{
if
(
GetBusyStatus
(
axis
.
DeviceName
,
axis
.
GetAxisValue
()).
Equals
(
1
))
{
SuddenStop
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
}
}
public
static
void
SuddenStop
(
string
portName
,
int
slvAddr
)
public
static
void
SuddenStop
(
string
portName
,
int
slvAddr
)
{
{
// RunBlock(7);
// RunBlock(7);
...
@@ -200,19 +271,18 @@ namespace OnlineStore.DeviceLibrary
...
@@ -200,19 +271,18 @@ namespace OnlineStore.DeviceLibrary
int
length
=
2
;
int
length
=
2
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
SendData
(
portName
,
dataArray
);
SendData
(
portName
,
dataArray
);
System
.
Threading
.
Thread
.
Sleep
(
10
00
);
System
.
Threading
.
Thread
.
Sleep
(
5
00
);
data
=
"0000"
;
data
=
"0000"
;
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
SendData
(
portName
,
dataArray
);
SendData
(
portName
,
dataArray
);
}
}
public
static
void
OpenAndCloseSTB
(
string
portName
,
int
slvAddr
)
public
static
void
OpenAndCloseSTB
(
string
portName
,
int
slvAddr
)
{
{
OnlyOpenSTB
(
portName
,
slvAddr
);
OnlyOpenSTB
(
portName
,
slvAddr
);
System
.
Threading
.
Thread
.
Sleep
(
1
00
);
System
.
Threading
.
Thread
.
Sleep
(
2
00
);
CloseSTB
(
portName
,
slvAddr
);
CloseSTB
(
portName
,
slvAddr
);
System
.
Threading
.
Thread
.
Sleep
(
100
);
System
.
Threading
.
Thread
.
Sleep
(
SleepMSendons
);
}
}
public
static
void
OnlyOpenSTB
(
string
portName
,
int
slvAddr
)
public
static
void
OnlyOpenSTB
(
string
portName
,
int
slvAddr
)
...
@@ -234,13 +304,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -234,13 +304,13 @@ namespace OnlineStore.DeviceLibrary
public
static
void
UpdateBlock
(
string
portName
,
int
slvAddr
,
string
blockNum
)
public
static
void
UpdateBlock
(
string
portName
,
int
slvAddr
,
string
blockNum
)
{
{
int
preNum
=
GetAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
BlockNo
);
int
preNum
=
GetAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
BlockNo
);
if
(
preNum
.
Equals
(-
1
)
||
(!
preNum
.
ToString
().
Equals
(
blockNum
)))
if
(
preNum
.
Equals
(-
1
)
||
(!
preNum
.
ToString
().
Equals
(
blockNum
)))
{
{
byte
[]
data
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
ACCMDManager
.
BlockNo
,
blockNum
,
2
);
byte
[]
data
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteRegisters
,
ACCMDManager
.
BlockNo
,
blockNum
,
2
);
SendData
(
portName
,
data
);
SendData
(
portName
,
data
);
int
value
=
Convert
.
ToInt16
(
blockNum
);
int
value
=
Convert
.
ToInt16
(
blockNum
);
UpdateAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
BlockNo
,
value
);
UpdateAddrValue
(
portName
,
slvAddr
,
ACCMDManager
.
BlockNo
,
value
);
Thread
.
Sleep
(
SleepMSendons
);
Thread
.
Sleep
(
SleepMSendons
);
}
}
}
}
...
@@ -253,7 +323,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -253,7 +323,7 @@ namespace OnlineStore.DeviceLibrary
int
length
=
2
;
int
length
=
2
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
SendData
(
portName
,
dataArray
);
SendData
(
portName
,
dataArray
);
System
.
Threading
.
Thread
.
Sleep
(
1
00
);
System
.
Threading
.
Thread
.
Sleep
(
2
00
);
data
=
"0000"
;
data
=
"0000"
;
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_WriteCoil
,
addr
,
data
,
length
);
SendData
(
portName
,
dataArray
);
SendData
(
portName
,
dataArray
);
...
@@ -304,20 +374,39 @@ namespace OnlineStore.DeviceLibrary
...
@@ -304,20 +374,39 @@ namespace OnlineStore.DeviceLibrary
PreReadAddr
=
ACCMDManager
.
TargetPostion
;
PreReadAddr
=
ACCMDManager
.
TargetPostion
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadRegisters
,
ACCMDManager
.
TargetPostion
,
"0000"
,
2
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadRegisters
,
ACCMDManager
.
TargetPostion
,
"0000"
,
2
);
// SendData(portName,dataArray);
// SendData(portName,dataArray);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
100
,
9
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
9
);
return
GetRegisterData
(
portName
,
reviceData
,
ACCMDManager
.
TargetPostion
);
return
GetRegisterData
(
portName
,
reviceData
,
ACCMDManager
.
TargetPostion
);
}
}
public
static
int
GetActualtPosition
(
string
portName
,
int
slvAddr
)
public
static
int
GetActualtPosition
(
ConfigMoveAxis
axis
)
{
return
GetActualtPosition
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
}
public
static
int
GetActualtPosition
(
string
portName
,
int
slvAddr
,
int
rGetCount
=
3
)
{
{
PreReadAddr
=
ACCMDManager
.
ActualPosition
;
PreReadAddr
=
ACCMDManager
.
ActualPosition
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadRegisters
,
ACCMDManager
.
ActualPosition
,
"0000"
,
2
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadRegisters
,
ACCMDManager
.
ActualPosition
,
"0000"
,
2
);
// SendData(portName,dataArray);
// SendData(portName,dataArray);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
100
,
9
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
9
);
return
GetRegisterData
(
portName
,
reviceData
,
ACCMDManager
.
ActualPosition
);
int
result
=
-
1
;
for
(
int
i
=
1
;
i
<=
rGetCount
;
i
++)
{
result
=
GetRegisterData
(
portName
,
reviceData
,
ACCMDManager
.
ActualPosition
);
if
(!
result
.
Equals
(-
1
))
{
break
;
}
else
{
LogUtil
.
error
(
"第"
+
i
+
"次获取"
+
portName
+
"_"
+
slvAddr
+
"的实时位置"
+
result
);
}
Thread
.
Sleep
(
180
);
}
return
result
;
}
}
public
static
int
GetCoilData
(
string
portName
,
byte
[]
reviceData
,
string
Address
)
public
static
int
GetCoilData
(
string
portName
,
byte
[]
reviceData
,
string
Address
)
{
{
if
(
reviceData
!=
null
&&
reviceData
.
Length
>
0
)
if
(
reviceData
!=
null
&&
reviceData
.
Length
>
0
)
...
@@ -352,7 +441,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -352,7 +441,7 @@ namespace OnlineStore.DeviceLibrary
PreReadCoilAddr
=
ACCMDManager
.
Alarm_Status
;
PreReadCoilAddr
=
ACCMDManager
.
Alarm_Status
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
PreReadCoilAddr
,
"0000"
,
1
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
PreReadCoilAddr
,
"0000"
,
1
);
//SendData(portName,dataArray);
//SendData(portName,dataArray);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
100
,
6
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
6
);
return
GetCoilData
(
portName
,
reviceData
,
PreReadCoilAddr
);
return
GetCoilData
(
portName
,
reviceData
,
PreReadCoilAddr
);
}
}
...
@@ -361,7 +450,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -361,7 +450,7 @@ namespace OnlineStore.DeviceLibrary
PreReadCoilAddr
=
ACCMDManager
.
BUSYStatus
;
PreReadCoilAddr
=
ACCMDManager
.
BUSYStatus
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
ACCMDManager
.
BUSYStatus
,
"0000"
,
1
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
ACCMDManager
.
BUSYStatus
,
"0000"
,
1
);
//SendData(portName,dataArray);
//SendData(portName,dataArray);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
100
,
6
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
6
);
return
GetCoilData
(
portName
,
reviceData
,
ACCMDManager
.
BUSYStatus
);
return
GetCoilData
(
portName
,
reviceData
,
ACCMDManager
.
BUSYStatus
);
}
}
...
@@ -370,7 +459,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -370,7 +459,7 @@ namespace OnlineStore.DeviceLibrary
PreReadCoilAddr
=
ACCMDManager
.
HOME_CMP_Status
;
PreReadCoilAddr
=
ACCMDManager
.
HOME_CMP_Status
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
ACCMDManager
.
HOME_CMP_Status
,
"0000"
,
1
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
ACCMDManager
.
HOME_CMP_Status
,
"0000"
,
1
);
//SendData(portName,dataArray);
//SendData(portName,dataArray);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
100
,
6
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
6
);
return
GetCoilData
(
portName
,
reviceData
,
ACCMDManager
.
HOME_CMP_Status
);
return
GetCoilData
(
portName
,
reviceData
,
ACCMDManager
.
HOME_CMP_Status
);
}
}
...
@@ -378,10 +467,43 @@ namespace OnlineStore.DeviceLibrary
...
@@ -378,10 +467,43 @@ namespace OnlineStore.DeviceLibrary
{
{
PreReadCoilAddr
=
ACCMDManager
.
Home_Single
;
PreReadCoilAddr
=
ACCMDManager
.
Home_Single
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
ACCMDManager
.
Home_Single
,
"0000"
,
1
);
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
ACCMDManager
.
Home_Single
,
"0000"
,
1
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
100
,
6
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
6
);
return
GetCoilData
(
portName
,
reviceData
,
ACCMDManager
.
Home_Single
);
}
/// <summary>
/// 负极限
/// </summary>
public
static
int
GetLimitNegativeSingle
(
string
portName
,
int
slvAddr
)
{
PreReadCoilAddr
=
ACCMDManager
.
Home_Single
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
ACCMDManager
.
Limit_Negative_Single
,
"0000"
,
1
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
6
);
return
GetCoilData
(
portName
,
reviceData
,
ACCMDManager
.
Home_Single
);
}
/// <summary>
/// 负极限
/// </summary>
public
static
int
GetLimitNegativeSingle
(
ConfigMoveAxis
axis
)
{
return
GetLimitNegativeSingle
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
}
/// <summary>
/// 正极限
/// </summary>
public
static
int
GetLimitPositiveSingle
(
ConfigMoveAxis
axis
)
{
return
GetLimitPositiveSingle
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
}
/// <summary>
/// 正极限
/// </summary>
public
static
int
GetLimitPositiveSingle
(
string
portName
,
int
slvAddr
)
{
PreReadCoilAddr
=
ACCMDManager
.
Home_Single
;
byte
[]
dataArray
=
ACCMDManager
.
GetWriteData
(
slvAddr
,
ACCMDManager
.
CMD_ReadCoil
,
ACCMDManager
.
Limit_Positive_Single
,
"0000"
,
1
);
byte
[]
reviceData
=
SendCommand
(
portName
,
dataArray
,
ReviceOutTimeMS
,
6
);
return
GetCoilData
(
portName
,
reviceData
,
ACCMDManager
.
Home_Single
);
return
GetCoilData
(
portName
,
reviceData
,
ACCMDManager
.
Home_Single
);
}
}
}
}
/// <summary>
/// <summary>
/// 记录最后一次获得的寄存器的值
/// 记录最后一次获得的寄存器的值
...
...
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
查看文件 @
be18814
...
@@ -32,8 +32,8 @@ DO,相机照明开,CameraLight_Power,110,192.168.200.11,0,相机照明开,Y11,DO-11,0,
...
@@ -32,8 +32,8 @@ DO,相机照明开,CameraLight_Power,110,192.168.200.11,0,相机照明开,Y11,DO-11,0,
DO,允许放料信号,CanPutTray,114,192.168.200.11,0,允许放料信号,Y15,DO-15,0,
DO,允许放料信号,CanPutTray,114,192.168.200.11,0,允许放料信号,Y15,DO-15,0,
DO,可取料信号,CanGetTray,115,192.168.200.11,0,可取料信号,Y16,DO-16,0,
DO,可取料信号,CanGetTray,115,192.168.200.11,0,可取料信号,Y16,DO-16,0,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM6,0,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM6,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,
1,COM5
,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,
2,COM6
,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,
1,COM4
,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,
3,COM6
,0,,,,,
,温湿度传感器地址,Temperate_ServerAddress,192.168.200.34,,,,,,,
,温湿度传感器地址,Temperate_ServerAddress,192.168.200.34,,,,,,,
,扫码枪IP,Scanner_Ip,192.168.200.33,,,,,,,
,扫码枪IP,Scanner_Ip,192.168.200.33,,,,,,,
,扫码枪端口号,Scanner_Port,51236,,,,,,,
,扫码枪端口号,Scanner_Port,51236,,,,,,,
...
@@ -43,7 +43,7 @@ PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,415000,,,,,,,
...
@@ -43,7 +43,7 @@ PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,415000,,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,403000,,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,403000,,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,268093,,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,268093,,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,
-75
00,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,
100
00,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,, ,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,, ,,
...
@@ -70,6 +70,7 @@ PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,
...
@@ -70,6 +70,7 @@ PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,250,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,250,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,250,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,250,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,250,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,250,,,,,,,
...
@@ -106,18 +107,6 @@ PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
...
@@ -106,18 +107,6 @@ PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
,,,,,,,,, ,
,,,,,,,,, ,
PRO,硕科步进电机(压紧轴)控制端口号,CompressAxis_PortName,COM3,,,,,,,
PRO,硕科步进电机(压紧轴)控制波特率,CompressAxis_PortBaudrate,9600,,,,,,,
PRO,硕科步进电机(压紧轴)控制奇偶校验,CompressAxis_PortParity,0,,,,,,,
PRO,硕科步进电机(压紧轴)控制停止位,CompressAxis_StopBits,1,,,,,,,
PRO,硕科步进电机(压紧轴)控制初速度,CompressAxis_StartSpeed,5000,,,,,,,
PRO,硕科步进电机(压紧轴)控制最大速度,CompressAxis_MaxSpeed,8000,,,,,,,
PRO,硕科步进电机(压紧轴)控制末速度,CompressAxis_EndSpeed,6000,,,,,,,
PRO,硕科步进电机(压紧轴)控制加速度,CompressAxis_AddSpeed,3000,,,,,,,
PRO,硕科步进电机(压紧轴)控制减速度,CompressAxis_DelSpeed,3000,,,,,,,
PRO,硕科步进电机(压紧轴)控制归零速度(原点返回速度),CompressAxis_HomeSpeed,5000,,,,,,,
PRO,硕科步进电机轴地址(压紧轴),CompressAxis_Slv,1,,,,,,,
,,,,,,,,, ,
PRO,模拟量IO模块的IP地址,AIDevice_IP,192.168.200.12,,,,,,,
PRO,模拟量IO模块的IP地址,AIDevice_IP,192.168.200.12,,,,,,,
PRO,模拟信号1默认高度,AIDI1_DefaultPosition,2920,,,,,,,
PRO,模拟信号1默认高度,AIDI1_DefaultPosition,2920,,,,,,,
PRO,模拟信号2默认高度,AIDI2_DefaultPosition,2960,,,,,,,
PRO,模拟信号2默认高度,AIDI2_DefaultPosition,2960,,,,,,,
...
@@ -125,3 +114,15 @@ PRO,模拟信号3默认高度,AIDI3_DefaultPosition,2500,,,,,,,
...
@@ -125,3 +114,15 @@ PRO,模拟信号3默认高度,AIDI3_DefaultPosition,2500,,,,,,,
,,,,,,,,, ,
,,,,,,,,, ,
PRO,模拟信号1的地址,AIDI1_Addr,7,,,,,,,
PRO,模拟信号1的地址,AIDI1_Addr,7,,,,,,,
PRO,模拟信号2的地址,AIDI2_Addr,8,,,,,,,
PRO,模拟信号2的地址,AIDI2_Addr,8,,,,,,,
,,,,,,,,, ,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM6,0,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,100,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,100,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,100,,,,,,,
,,,,,,,
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
查看文件 @
be18814
...
@@ -145,10 +145,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -145,10 +145,12 @@ namespace OnlineStore.DeviceLibrary
moveAxisList
.
Add
(
Config
.
Middle_Axis
);
moveAxisList
.
Add
(
Config
.
Middle_Axis
);
moveAxisList
.
Add
(
Config
.
UpDown_Axis
);
moveAxisList
.
Add
(
Config
.
UpDown_Axis
);
moveAxisList
.
Add
(
Config
.
InOut_Axis
);
moveAxisList
.
Add
(
Config
.
InOut_Axis
);
moveAxisList
.
Add
(
Config
.
Comp_Axis
);
this
.
AxisAlarmCodeMap
=
new
Dictionary
<
string
,
AxisAlarmInfo
>();
this
.
AxisAlarmCodeMap
=
new
Dictionary
<
string
,
AxisAlarmInfo
>();
this
.
AxisAlarmCodeMap
.
Add
(
Config
.
UpDown_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
Config
.
UpDown_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
Config
.
InOut_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
Config
.
InOut_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Middle_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Middle_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Comp_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
}
}
...
@@ -159,14 +161,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -159,14 +161,14 @@ namespace OnlineStore.DeviceLibrary
{
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始启动,启动时间:"
+
StartTime
.
ToString
());
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始启动,启动时间:"
+
StartTime
.
ToString
());
if
(
IsHasCompress_Axis
)
//
if (IsHasCompress_Axis)
{
//
{
if
(
ShuoKeControls
.
isRun
==
false
&&
(!
StoreManager
.
OpenShuoKe
(
this
)))
//
if (ShuoKeControls.isRun == false && (!StoreManager.OpenShuoKe(this)))
{
//
{
LogUtil
.
info
(
StoreName
+
"打开驱动器串口失败,启动失败!"
);
//
LogUtil.info(StoreName + "打开驱动器串口失败,启动失败!");
return
false
;
//
return false;
}
//
}
}
//
}
autoNext
=
false
;
autoNext
=
false
;
mainTimer
.
Enabled
=
false
;
mainTimer
.
Enabled
=
false
;
alarmType
=
StoreAlarmType
.
None
;
alarmType
=
StoreAlarmType
.
None
;
...
@@ -236,23 +238,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -236,23 +238,9 @@ namespace OnlineStore.DeviceLibrary
ACAxisHomeMove
(
Config
.
InOut_Axis
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始原点返回,先把进出轴回原点"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"开始原点返回,先把进出轴回原点"
);
//设置速度
//设置速度
SetShuokeSpeed
();
//
SetShuokeSpeed();
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
}
}
public
void
SetShuokeSpeed
()
{
ShuoKeControls
.
SetSpeed
(
Config
.
CompressAxis_Slv
,
ShuoKeCMD
.
SetAddSpeed
,
Config
.
CompressAxis_AddSpeed
);
Thread
.
Sleep
(
60
);
ShuoKeControls
.
SetSpeed
(
Config
.
CompressAxis_Slv
,
ShuoKeCMD
.
SetDelSpeed
,
Config
.
CompressAxis_DelSpeed
);
Thread
.
Sleep
(
60
);
ShuoKeControls
.
SetSpeed
(
Config
.
CompressAxis_Slv
,
ShuoKeCMD
.
SetEndSpeed
,
Config
.
CompressAxis_EndSpeed
);
Thread
.
Sleep
(
60
);
ShuoKeControls
.
SetSpeed
(
Config
.
CompressAxis_Slv
,
ShuoKeCMD
.
SetHomeSpeed
,
Config
.
CompressAxis_HomeSpeed
);
Thread
.
Sleep
(
60
);
ShuoKeControls
.
SetSpeed
(
Config
.
CompressAxis_Slv
,
ShuoKeCMD
.
SetMaxSpeed
,
Config
.
CompressAxis_MaxSpeed
);
Thread
.
Sleep
(
60
);
ShuoKeControls
.
SetSpeed
(
Config
.
CompressAxis_Slv
,
ShuoKeCMD
.
SetStartSpeed
,
Config
.
CompressAxis_StartSpeed
);
}
public
void
MoveToP1
()
public
void
MoveToP1
()
{
{
KNDIOMove
(
IO_Type
.
CanPutTray
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
CanPutTray
,
IO_VALUE
.
LOW
);
...
@@ -262,7 +250,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -262,7 +250,7 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_InOutToP1
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_InOutToP1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"到待机状态,进出轴到P1,判断叉子没有料盘"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"到待机状态,进出轴到P1,判断叉子没有料盘"
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
ComBeforeHomeMove
();
//
ComBeforeHomeMove();
//判断叉子没有料盘
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
}
}
...
@@ -314,7 +302,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -314,7 +302,7 @@ namespace OnlineStore.DeviceLibrary
{
{
InoutStartReset
();
InoutStartReset
();
//硕科压紧轴回原点
//硕科压紧轴回原点
SetShuokeSpeed
();
//
SetShuokeSpeed();
}
}
else
else
{
{
...
@@ -369,7 +357,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -369,7 +357,7 @@ namespace OnlineStore.DeviceLibrary
//进出轴原点返回完成,将进出轴的位置设置=0
//进出轴原点返回完成,将进出轴的位置设置=0
AxisCountClear
(
Config
.
InOut_Axis
);
AxisCountClear
(
Config
.
InOut_Axis
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
ComBeforeHomeMove
();
//
ComBeforeHomeMove();
//判断叉子没有料盘
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
CloseDoorAndWait
();
CloseDoorAndWait
();
...
@@ -385,10 +373,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -385,10 +373,7 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
if
(
IsHasCompress_Axis
)
if
(
IsHasCompress_Axis
)
{
{
StoreMove
.
TimeOutSeconds
=
120
;
ACAxisHomeMove
(
Config
.
Comp_Axis
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitShuoKe
(
Config
.
CompressAxis_Slv
,
0
,
true
));
ShuoKeControls
.
HomeMove
(
Config
.
CompressAxis_Slv
,
1
);
Thread
.
Sleep
(
60
);
}
}
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
...
@@ -399,7 +384,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -399,7 +384,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
"复位中:旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"复位中:旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
if
(
StartResetOut
())
if
(
StartResetOut
())
...
@@ -423,9 +408,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -423,9 +408,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
"到待机状态,压紧轴回原点,关闭舱门"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"到待机状态,压紧轴回原点,关闭舱门"
);
if
(
IsHasCompress_Axis
)
if
(
IsHasCompress_Axis
)
{
{
StoreMove
.
TimeOutSeconds
=
120
;
ACAxisHomeMove
(
Config
.
Comp_Axis
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitShuoKe
(
Config
.
CompressAxis_Slv
,
1
,
true
));
ShuoKeControls
.
HomeMove
(
Config
.
CompressAxis_Slv
,
1
);
}
}
//关闭舱门
//关闭舱门
CloseDoorAndWait
();
CloseDoorAndWait
();
...
@@ -435,7 +418,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -435,7 +418,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
"复位中:旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"复位中:旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
break
;
case
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
:
case
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
:
...
@@ -534,33 +517,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -534,33 +517,11 @@ namespace OnlineStore.DeviceLibrary
}
}
return
false
;
return
false
;
}
}
private
void
ComBeforeHomeMove
()
private
void
ComMoveToPosition
(
int
targetPosition
,
int
targetSpeed
)
{
if
(
IsHasCompress_Axis
)
{
int
relValue
=
-
2000
;
LogUtil
.
debug
(
"压紧轴相对位置:"
+
relValue
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitShuoKe
(
Config
.
CompressAxis_Slv
,
relValue
,
false
));
ShuoKeControls
.
RelativeMove
(
Config
.
CompressAxis_Slv
,
relValue
);
Thread
.
Sleep
(
100
);
}
}
private
void
ComMoveToPosition
(
int
targetPosition
)
{
ComMoveToPosition
(
targetPosition
,
false
);
}
private
void
ComMoveToPosition
(
int
targetPosition
,
bool
isNeedCheckSingle
)
{
{
if
(
IsHasCompress_Axis
)
if
(
IsHasCompress_Axis
)
{
{
LogUtil
.
debug
(
"压紧轴绝对运动目标位置:"
+
targetPosition
);
ACAxisMove
(
Config
.
Comp_Axis
,
targetPosition
,
targetSpeed
);
if
(
isNeedCheckSingle
)
{
MeteringSignal
.
StartCheck
(
targetPosition
,
ShuoKeControls
.
GetABSPosition
(
Config
.
CompressAxis_Slv
));
}
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitShuoKe
(
Config
.
CompressAxis_Slv
,
targetPosition
,
false
));
ShuoKeControls
.
AbsMove
(
Config
.
CompressAxis_Slv
,
targetPosition
);
Thread
.
Sleep
(
100
);
}
}
}
}
...
@@ -609,7 +570,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -609,7 +570,7 @@ namespace OnlineStore.DeviceLibrary
//进出轴原点返回完成,将进出轴的位置设置=0
//进出轴原点返回完成,将进出轴的位置设置=0
AxisCountClear
(
Config
.
InOut_Axis
);
AxisCountClear
(
Config
.
InOut_Axis
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
ComBeforeHomeMove
();
//
ComBeforeHomeMove();
//判断叉子没有料盘
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
CloseDoorAndWait
();
CloseDoorAndWait
();
...
@@ -627,10 +588,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -627,10 +588,7 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
if
(
IsHasCompress_Axis
)
if
(
IsHasCompress_Axis
)
{
{
StoreMove
.
TimeOutSeconds
=
120
;
ACAxisHomeMove
(
Config
.
Comp_Axis
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitShuoKe
(
Config
.
CompressAxis_Slv
,
0
,
true
));
ShuoKeControls
.
HomeMove
(
Config
.
CompressAxis_Slv
,
1
);
Thread
.
Sleep
(
60
);
}
}
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
...
@@ -641,7 +599,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -641,7 +599,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点:旋转轴运动到P1,上下轴到P1,压紧轴到P1!"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点:旋转轴运动到P1,上下轴到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点完成"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点完成"
);
...
@@ -737,7 +695,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -737,7 +695,7 @@ namespace OnlineStore.DeviceLibrary
{
{
ACServerManager
.
ServoOff
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
ACServerManager
.
ServoOff
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
//关闭串口,等下次重新打开
//关闭串口,等下次重新打开
ACServerManager
.
ColsePort
(
axis
.
DeviceName
);
//
ACServerManager.ColsePort(axis.DeviceName);
}
}
Thread
.
Sleep
(
100
);
Thread
.
Sleep
(
100
);
KNDIOMove
(
IO_Type
.
Run_Signal
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Run_Signal
,
IO_VALUE
.
LOW
);
...
@@ -783,10 +741,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -783,10 +741,10 @@ namespace OnlineStore.DeviceLibrary
IsRun
=
false
;
IsRun
=
false
;
KNDManager
.
CloseAllDO
();
KNDManager
.
CloseAllDO
();
if
(
IsHasCompress_Axis
)
//
if (IsHasCompress_Axis)
{
//
{
ShuoKeControls
.
ClosePort
();
//
ShuoKeControls.ClosePort();
}
//
}
LogUtil
.
info
(
LOGGER
,
StoreName
+
",停止运行,总运行时间:"
+
span
.
ToString
());
LogUtil
.
info
(
LOGGER
,
StoreName
+
",停止运行,总运行时间:"
+
span
.
ToString
());
}
}
...
@@ -1072,7 +1030,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1072,7 +1030,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
NeedCheckSafetyLight
.
Equals
(
1
))
if
(
NeedCheckSafetyLight
.
Equals
(
1
))
{
{
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
&&
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SO_1
0
_DeviceToDoor
))
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
&&
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SO_1
3
_DeviceToDoor
))
{
{
NeedCheckSafetyLight
=
2
;
NeedCheckSafetyLight
=
2
;
LOGGER
.
Info
(
"出库SO_10_DeviceToDoor运动中,光栅被遮挡,停止进出轴运动"
);
LOGGER
.
Info
(
"出库SO_10_DeviceToDoor运动中,光栅被遮挡,停止进出轴运动"
);
...
@@ -1090,10 +1048,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1090,10 +1048,10 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
NeedCheckSafetyLight
.
Equals
(
2
))
if
(
NeedCheckSafetyLight
.
Equals
(
2
))
{
{
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
&&
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SO_1
0
_DeviceToDoor
))
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
&&
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SO_1
3
_DeviceToDoor
))
{
{
LOGGER
.
Info
(
"出库SO_10_DeviceToDoor运动中,光栅已恢复,继续进出轴运动"
);
LOGGER
.
Info
(
"出库SO_10_DeviceToDoor运动中,光栅已恢复,继续进出轴运动"
);
SO_1
0_DeviceToDoorPro
();
SO_1
3_DeviceToDoor
();
}
}
else
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
&&
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_05_DeviceToDoor
))
else
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
&&
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_05_DeviceToDoor
))
{
{
...
@@ -1366,7 +1324,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1366,7 +1324,7 @@ namespace OnlineStore.DeviceLibrary
ACServerManager
.
SuddenStop
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
if
(
IsHasCompress_Axis
)
if
(
IsHasCompress_Axis
)
{
{
ShuoKeControls
.
SuddownStop
(
Config
.
CompressAxis_Slv
);
ACServerManager
.
SuddenStop
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
()
);
}
}
else
else
{
{
...
@@ -1386,7 +1344,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1386,7 +1344,7 @@ namespace OnlineStore.DeviceLibrary
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
CanGetTray
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
CanGetTray
,
IO_VALUE
.
LOW
);
CodeManager
.
CloseCamera
();
CodeManager
.
Close
All
Camera
();
isInPro
=
false
;
isInPro
=
false
;
}
}
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
查看文件 @
be18814
...
@@ -95,14 +95,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -95,14 +95,17 @@ namespace OnlineStore.DeviceLibrary
//判断是否在P1,如果是,不需要运行
//判断是否在P1,如果是,不需要运行
int
outCount
=
ACServerManager
.
GetActualtPosition
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
int
outCount
=
ACServerManager
.
GetActualtPosition
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
int
errorCount
=
Math
.
Abs
(
outCount
-
InOut_P1
);
int
errorCount
=
Math
.
Abs
(
outCount
-
InOut_P1
);
if
(
errorCount
<=
Config
.
InOut_Axis
.
CanErrorCountMin
)
//需要判断原点信号
int
org
=
ACServerManager
.
GetHomeSingle
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
if
(
errorCount
<=
Config
.
InOut_Axis
.
CanErrorCountMin
&&
org
.
Equals
(
1
))
{
{
LogUtil
.
info
(
"进出轴当前位置:"
+
outCount
+
",已经在P1,不需要再回P1"
);
LogUtil
.
info
(
"进出轴当前位置:"
+
outCount
+
",已经在P1,不需要再回P1"
);
}
}
else
else
{
{
ACAxisMove
(
Config
.
InOut_Axis
,
InOut_P1
,
Config
.
InOutAxis_P1_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
InOut_P1
,
Config
.
InOutAxis_P1_Speed
);
}
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAxisOrg
(
Config
.
InOut_Axis
,
IO_VALUE
.
HIGH
));
}
//StoreMove.WaitList.Add(WaitResultInfo.WaitAxisOrg(Config.InOut_Axis,IO_VALUE.HIGH));
//StoreMove.WaitList.Add(WaitResultInfo.WaitAxisOrg(Config.InOut_Axis,IO_VALUE.HIGH));
}
}
...
@@ -152,7 +155,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -152,7 +155,7 @@ namespace OnlineStore.DeviceLibrary
{
{
wait
.
IsEnd
=
KNDIOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
wait
.
IsEnd
=
KNDIOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
int
timeOutMs
=
Config
.
IOSingle_TimerOut
;
int
timeOutMs
=
Config
.
IOSingle_TimerOut
;
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
4
_WaitTake
)
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
8
_WaitTake
)
{
{
timeOutMs
=
650000
;
timeOutMs
=
650000
;
}
}
...
@@ -170,6 +173,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -170,6 +173,11 @@ namespace OnlineStore.DeviceLibrary
{
{
wait
.
IsEnd
=
(
span
.
TotalMilliseconds
>=
wait
.
TimeMSeconds
);
wait
.
IsEnd
=
(
span
.
TotalMilliseconds
>=
wait
.
TimeMSeconds
);
}
}
else
if
(
wait
.
WaitType
==
6
)
{
IO_VALUE
value
=
(
IO_VALUE
)
ACServerManager
.
GetHomeSingle
(
wait
.
AxisInfo
.
DeviceName
,
wait
.
AxisInfo
.
GetAxisValue
());
wait
.
IsEnd
=
wait
.
IoValue
.
Equals
(
value
);
}
else
if
(
wait
.
WaitType
==
7
)
else
if
(
wait
.
WaitType
==
7
)
{
{
if
(
wait
.
HeightValue
>
0
)
if
(
wait
.
HeightValue
>
0
)
...
@@ -185,12 +193,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -185,12 +193,12 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
debug
(
"等待height="
+
wait
.
HeightValue
+
"完成"
);
LogUtil
.
debug
(
"等待height="
+
wait
.
HeightValue
+
"完成"
);
}
}
}
}
else
if
(
wait
.
WaitType
==
5
)
//
else if (wait.WaitType == 5)
{
//
{
string
msg
=
""
;
//
string msg = "";
wait
.
IsEnd
=
ShuoKeIsEnd
(
wait
,
out
msg
);
//
wait.IsEnd = ShuoKeIsEnd(wait, out msg);
NotOkMsg
=
NotOkMsg
+
" "
+
msg
;
//
NotOkMsg = NotOkMsg +" "+ msg;
}
//
}
if
(
wait
.
IsEnd
)
if
(
wait
.
IsEnd
)
{
{
if
(
StoreMove
.
OneWaitCanEndStep
)
if
(
StoreMove
.
OneWaitCanEndStep
)
...
@@ -220,38 +228,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -220,38 +228,7 @@ namespace OnlineStore.DeviceLibrary
Alarm
(
StoreAlarmType
.
IoSingleTimeOut
,
""
,
WarnMsg
,
StoreMove
.
MoveType
);
Alarm
(
StoreAlarmType
.
IoSingleTimeOut
,
""
,
WarnMsg
,
StoreMove
.
MoveType
);
}
}
}
}
private
bool
ShuoKeIsEnd
(
WaitResultInfo
wait
,
out
string
msg
)
{
//bool result = false;
msg
=
""
;
if
(
wait
.
IsHomeMove
)
{
return
ShuoKeControls
.
IsHomeMoveEnd
(
wait
.
SlvAddr
,
StoreMove
.
LastSetpTime
,
out
msg
);
}
else
{
bool
isend
=
ShuoKeControls
.
IsMoveEnd
(
wait
.
SlvAddr
,
wait
.
TargetPosition
,
StoreMove
.
LastSetpTime
,
out
msg
);
if
(
isend
)
{
bool
isCheckOk
=
(
MeteringSignal
.
TragetChangeCount
<=
MeteringSignal
.
SignalChangeCount
);
if
(
isCheckOk
||
MeteringSignal
.
TragetChangeCount
<=
0
)
{
MeteringSignal
.
StopCheck
();
return
true
;
}
else
{
msg
=
"压紧轴计量检测目标【"
+
MeteringSignal
.
TragetChangeCount
+
"】实际【"
+
MeteringSignal
.
SignalChangeCount
+
"】"
;
LogUtil
.
error
(
"压紧轴已经停止运动,但是 "
+
msg
);
return
false
;
}
}
}
return
false
;
}
#
endregion
#
endregion
#
region
入库
#
region
入库
...
@@ -321,10 +298,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -321,10 +298,10 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_02_InOutAxisHome
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_02_InOutAxisHome
);
OpenDoorAndWait
();
OpenDoorAndWait
();
InOutBackToP1
(
moveP
.
InOut_P1
);
InOutBackToP1
(
moveP
.
InOut_P1
);
if
(
Config
.
Box_ResetCCount
<
CurrInOutCCount
&&
IsHasCompress_Axis
)
//
if (Config.Box_ResetCCount < CurrInOutCCount && IsHasCompress_Axis)
{
//
{
ComBeforeHomeMove
();
//
ComBeforeHomeMove();
}
//
}
}
}
private
void
SI_05_DeviceToDoor
()
private
void
SI_05_DeviceToDoor
()
{
{
...
@@ -363,28 +340,28 @@ namespace OnlineStore.DeviceLibrary
...
@@ -363,28 +340,28 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_02_InOutAxisHome
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_02_InOutAxisHome
)
{
{
if
(
Config
.
Box_ResetCCount
<
CurrInOutCCount
&&
IsHasCompress_Axis
)
//
if (Config.Box_ResetCCount < CurrInOutCCount && IsHasCompress_Axis)
{
//
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_021_CompAxisHome
);
//
StoreMove.NextMoveStep(StoreMoveStep.SI_021_CompAxisHome);
OutStoreLog
(
"入库:SI_021 已出入库"
+
CurrInOutCCount
+
"次,压紧轴需要原点返回"
);
//
OutStoreLog("入库:SI_021 已出入库" + CurrInOutCCount + "次,压紧轴需要原点返回");
CurrInOutCCount
=
0
;
//
CurrInOutCCount = 0;
StoreMove
.
TimeOutSeconds
=
120
;
//
StoreMove.TimeOutSeconds = 120;
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitShuoKe
(
Config
.
CompressAxis_Slv
,
0
,
true
));
//
StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, 0, true));
ShuoKeControls
.
HomeMove
(
Config
.
CompressAxis_Slv
,
1
);
//
ShuoKeControls.HomeMove(Config.CompressAxis_Slv, 1);
}
//
}
else
//
else
{
//
{
InStoreLog
(
"入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1,,轴4动作至P3"
);
InStoreLog
(
"入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1,,轴4动作至P3"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_03_ReturnHome
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_03_ReturnHome
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
}
//
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_021_CompAxisHome
)
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_021_CompAxisHome
)
{
{
InStoreLog
(
"入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1,,轴4动作至P3"
);
InStoreLog
(
"入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1,,轴4动作至P3"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_03_ReturnHome
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_03_ReturnHome
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
}
}
...
@@ -394,7 +371,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -394,7 +371,7 @@ namespace OnlineStore.DeviceLibrary
{
{
InStoreLog
(
"入库:SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),压紧轴至P3(压紧前点) 开始"
);
InStoreLog
(
"入库:SI_04_CompressWare 压紧物品(有压紧轴的才需要此步骤),压紧轴至P3(压紧前点) 开始"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_04_CompressWare
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_04_CompressWare
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
//ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P3);
//ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P3);
//StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P3, false));
//StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P3, false));
}
}
...
@@ -415,7 +392,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -415,7 +392,7 @@ namespace OnlineStore.DeviceLibrary
NeedCheckSafetyLight
=
0
;
NeedCheckSafetyLight
=
0
;
InStoreLog
(
"入库:SI_06 拿物品,压紧轴至P2(压紧点)) 升降轴至P7(进料口取料缓冲点) "
);
InStoreLog
(
"入库:SI_06 拿物品,压紧轴至P2(压紧点)) 升降轴至P7(进料口取料缓冲点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_06_DoorWarToDevice
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_06_DoorWarToDevice
);
ComMoveToPosition
(
moveP
.
ComPress_P2
,
true
);
ComMoveToPosition
(
moveP
.
ComPress_P2
,
Config
.
CompAxis_P2_Speed
);
//if (IsHasCompress_Axis)
//if (IsHasCompress_Axis)
//{
//{
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P2);
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P2);
...
@@ -502,7 +479,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -502,7 +479,7 @@ namespace OnlineStore.DeviceLibrary
//SendLineStatus(StoreID, posId, StoreStatus.InStoreEnd);
//SendLineStatus(StoreID, posId, StoreStatus.InStoreEnd);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_12_PutWareToBag
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_12_PutWareToBag
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
true
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P4
,
Config
.
UpDownAxis_P4_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P4
,
Config
.
UpDownAxis_P4_Speed
);
}
}
...
@@ -517,7 +494,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -517,7 +494,7 @@ namespace OnlineStore.DeviceLibrary
{
{
InStoreLog
(
"入库:SI_14 返回待机点,轴2/轴1/轴4动作至P1(待机点)),检测门关闭"
);
InStoreLog
(
"入库:SI_14 返回待机点,轴2/轴1/轴4动作至P1(待机点)),检测门关闭"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_14_GoBack
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_14_GoBack
);
ComMoveToPosition
(
moveP
.
ComPress_P1
);
ComMoveToPosition
(
moveP
.
ComPress_P1
,
Config
.
CompAxis_P1_Speed
);
//if (IsHasCompress_Axis)
//if (IsHasCompress_Axis)
//{
//{
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P1);
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P1);
...
@@ -582,10 +559,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -582,10 +559,10 @@ namespace OnlineStore.DeviceLibrary
//ACAxisMove(Config.InOut_Axis, StoreMove.MoveParam.MoveP.InOut_P1, Config.InOutAxis_P1_Speed);
//ACAxisMove(Config.InOut_Axis, StoreMove.MoveParam.MoveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
StoreMove
.
MoveParam
.
MoveP
.
InOut_P1
);
InOutBackToP1
(
StoreMove
.
MoveParam
.
MoveP
.
InOut_P1
);
if
(
Config
.
Box_ResetCCount
<
CurrInOutCCount
&&
IsHasCompress_Axis
)
//
if (Config.Box_ResetCCount < CurrInOutCCount && IsHasCompress_Axis)
{
//
{
ComBeforeHomeMove
();
//
ComBeforeHomeMove();
}
//
}
//OpenDoorAndWait();
//OpenDoorAndWait();
}
}
else
else
...
@@ -619,35 +596,35 @@ namespace OnlineStore.DeviceLibrary
...
@@ -619,35 +596,35 @@ namespace OnlineStore.DeviceLibrary
OutStoreLog
(
"出库:SO_02 叉子先运动到P1,已出入库次数:"
+
CurrInOutCCount
);
OutStoreLog
(
"出库:SO_02 叉子先运动到P1,已出入库次数:"
+
CurrInOutCCount
);
InOutBackToP1
(
StoreMove
.
MoveParam
.
MoveP
.
InOut_P1
);
InOutBackToP1
(
StoreMove
.
MoveParam
.
MoveP
.
InOut_P1
);
if
(
Config
.
Box_ResetCCount
<
CurrInOutCCount
&&
IsHasCompress_Axis
)
//
if (Config.Box_ResetCCount < CurrInOutCCount && IsHasCompress_Axis)
{
//
{
ComBeforeHomeMove
();
//
ComBeforeHomeMove();
}
//
}
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_02_DeviceBack
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_02_DeviceBack
)
{
{
if
(
Config
.
Box_ResetCCount
<
CurrInOutCCount
&&
IsHasCompress_Axis
)
//
if (Config.Box_ResetCCount < CurrInOutCCount && IsHasCompress_Axis)
{
//
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_021_CompAxisHome
);
//
StoreMove.NextMoveStep(StoreMoveStep.SO_021_CompAxisHome);
OutStoreLog
(
"出库:SO_021 已出入库"
+
CurrInOutCCount
+
"次,压紧轴需要原点返回"
);
//
OutStoreLog("出库:SO_021 已出入库" + CurrInOutCCount + "次,压紧轴需要原点返回");
CurrInOutCCount
=
0
;
//
CurrInOutCCount = 0;
StoreMove
.
TimeOutSeconds
=
120
;
//
StoreMove.TimeOutSeconds = 120;
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitShuoKe
(
Config
.
CompressAxis_Slv
,
0
,
true
));
//
StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, 0, true));
ShuoKeControls
.
HomeMove
(
Config
.
CompressAxis_Slv
,
1
);
//
ShuoKeControls.HomeMove(Config.CompressAxis_Slv, 1);
}
//
}
else
//
else
{
//
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_03_ToBagPosition
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_03_ToBagPosition
);
OutStoreLog
(
"出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"
);
OutStoreLog
(
"出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
}
//
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_021_CompAxisHome
)
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_021_CompAxisHome
)
{
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_03_ToBagPosition
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_03_ToBagPosition
);
OutStoreLog
(
"出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"
);
OutStoreLog
(
"出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
ComMoveToPosition
(
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
}
}
...
@@ -661,7 +638,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -661,7 +638,7 @@ namespace OnlineStore.DeviceLibrary
{
{
OutStoreLog
(
"出库:SO_05 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "
);
OutStoreLog
(
"出库:SO_05 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_05_BagWareToDevice
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_05_BagWareToDevice
);
ComMoveToPosition
(
moveP
.
ComPress_P2
,
true
);
ComMoveToPosition
(
moveP
.
ComPress_P2
,
Config
.
CompAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P6
,
Config
.
UpDownAxis_P6_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P6
,
Config
.
UpDownAxis_P6_Speed
);
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_05_BagWareToDevice
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_05_BagWareToDevice
)
...
@@ -726,7 +703,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -726,7 +703,7 @@ namespace OnlineStore.DeviceLibrary
if
(
IsHasCompress_Axis
||
Config
.
IsHasLocationCylinder
.
Equals
(
0
))
if
(
IsHasCompress_Axis
||
Config
.
IsHasLocationCylinder
.
Equals
(
0
))
{
{
//SO_10_DeviceToDoorPro();
//SO_10_DeviceToDoorPro();
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_
09
1_WaitNoTray
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_
1
1_WaitNoTray
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Door
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Door
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
0
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
0
));
OpenDoorAndWait
();
OpenDoorAndWait
();
...
@@ -734,45 +711,50 @@ namespace OnlineStore.DeviceLibrary
...
@@ -734,45 +711,50 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_09_Location
Cylinder_
Down
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_09_LocationDown
);
OutStoreLog
(
"出库:SO_09 定位气缸退回,定位气缸退回 "
);
OutStoreLog
(
"出库:SO_09 定位气缸退回,定位气缸退回 "
);
LocationDownAndWait
();
LocationDownAndWait
();
}
}
}
}
//此处需要等待移栽没有工作,才能把盘放入出料口
//此处需要等待移栽没有工作,才能把盘放入出料口
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_09_Location
Cylinder_
Down
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_09_LocationDown
)
{
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_
09
1_WaitNoTray
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_
1
1_WaitNoTray
);
OutStoreLog
(
"出库:SO_
091 打开仓门,
等待门口无料盘 "
);
OutStoreLog
(
"出库:SO_
11
等待门口无料盘 "
);
StoreMove
.
TimeOutSeconds
=
120
;
StoreMove
.
TimeOutSeconds
=
120
;
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Door
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Door
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
0
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
0
));
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_11_WaitNoTray
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_12_OpenDoor
);
OutStoreLog
(
"出库:SO_12 打开仓门 "
);
OpenDoorAndWait
();
OpenDoorAndWait
();
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_
091_WaitNoTray
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_
12_OpenDoor
)
{
{
SO_1
0_DeviceToDoorPro
();
SO_1
3_DeviceToDoor
();
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
0
_DeviceToDoor
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
3
_DeviceToDoor
)
{
{
OutStoreLog
(
"出库:SO_11 放下物品,升降轴至P8(进料口出料缓冲点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_14_DevicePutWare
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_11_DevicePutWare
);
OutStoreLog
(
"出库:SO_14 放下物品,升降轴至P8(进料口出料缓冲点) "
);
NeedCheckSafetyLight
=
0
;
NeedCheckSafetyLight
=
0
;
ComMoveToPosition
(
moveP
.
ComPress_P1
,
true
);
ComMoveToPosition
(
moveP
.
ComPress_P1
,
Config
.
CompAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P8
,
Config
.
UpDownAxis_P8_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P8
,
Config
.
UpDownAxis_P8_Speed
);
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
1
_DevicePutWare
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
4
_DevicePutWare
)
{
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
2_DeviceOutFromDoor
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
5_InoutBack
);
OutStoreLog
(
"出库:SO_1
2
叉子从出料口返回,,进出轴动作至P1(待机点) "
);
OutStoreLog
(
"出库:SO_1
5
叉子从出料口返回,,进出轴动作至P1(待机点) "
);
InOutBackToP1
(
moveP
.
InOut_P1
);
InOutBackToP1
(
moveP
.
InOut_P1
);
KNDAIManager
.
NeedReadAI
=
true
;
KNDAIManager
.
NeedReadAI
=
true
;
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
2_DeviceOutFromDoor
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
5_InoutBack
)
{
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_121_CheckHasTray
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_16_CheckHasTray
);
OutStoreLog
(
"出库:SO_121等待门口有料盘高度,更新状态为出库完成"
);
OutStoreLog
(
"出库:SO_16 等待门口有料盘高度,更新状态为出库完成"
);
StoreMove
.
TimeOutSeconds
=
20
;
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
8
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
8
));
//把料盘放到门口时出库完成
//把料盘放到门口时出库完成
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
...
@@ -782,14 +764,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -782,14 +764,14 @@ namespace OnlineStore.DeviceLibrary
//手动给服务器发消息
//手动给服务器发消息
SendLineStatus
();
SendLineStatus
();
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
21
_CheckHasTray
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
6
_CheckHasTray
)
{
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
3
_GoBack
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
7
_GoBack
);
OutStoreLog
(
"出库:SO_1
3
升降轴返回,轴2至P1(待机点) ,关闭舱门"
);
OutStoreLog
(
"出库:SO_1
7
升降轴返回,轴2至P1(待机点) ,关闭舱门"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
CloseDoorAndWait
();
CloseDoorAndWait
();
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
3
_GoBack
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
7
_GoBack
)
{
{
int
OutStoreWaitSeconds
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
OutStoreWaitSeconds
);
int
OutStoreWaitSeconds
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
OutStoreWaitSeconds
);
if
(
OutStoreWaitSeconds
<=
0
)
if
(
OutStoreWaitSeconds
<=
0
)
...
@@ -797,8 +779,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -797,8 +779,8 @@ namespace OnlineStore.DeviceLibrary
OutStoreWaitSeconds
=
600
;
OutStoreWaitSeconds
=
600
;
}
}
int
ms
=
OutStoreWaitSeconds
*
1000
;
int
ms
=
OutStoreWaitSeconds
*
1000
;
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
4
_WaitTake
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
8
_WaitTake
);
OutStoreLog
(
"出库:SO_1
4
_WaitTake 等待拿走物品,最多等待"
+
OutStoreWaitSeconds
+
"秒"
);
OutStoreLog
(
"出库:SO_1
8
_WaitTake 等待拿走物品,最多等待"
+
OutStoreWaitSeconds
+
"秒"
);
KNDIOMove
(
IO_Type
.
CanGetTray
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
CanGetTray
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
ms
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
ms
));
...
@@ -806,7 +788,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -806,7 +788,7 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
0
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
0
));
StoreMove
.
OneWaitCanEndStep
=
true
;
StoreMove
.
OneWaitCanEndStep
=
true
;
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
4
_WaitTake
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
8
_WaitTake
)
{
{
KNDIOMove
(
IO_Type
.
CanGetTray
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
CanGetTray
,
IO_VALUE
.
LOW
);
TimeSpan
span
=
DateTime
.
Now
-
startOutStoreTime
;
TimeSpan
span
=
DateTime
.
Now
-
startOutStoreTime
;
...
@@ -825,10 +807,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -825,10 +807,10 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
private
void
SO_1
0_DeviceToDoorPro
()
private
void
SO_1
3_DeviceToDoor
()
{
{
LineMoveP
moveP
=
StoreMove
.
MoveParam
.
MoveP
;
LineMoveP
moveP
=
StoreMove
.
MoveParam
.
MoveP
;
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
0
_DeviceToDoor
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
3
_DeviceToDoor
);
OutStoreLog
(
"出库:SO_10 叉子进出料口,进出轴至P2(进料口取料点) "
);
OutStoreLog
(
"出库:SO_10 叉子进出料口,进出轴至P2(进料口取料点) "
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
NeedCheckSafetyLight
=
1
;
NeedCheckSafetyLight
=
1
;
...
@@ -899,7 +881,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -899,7 +881,7 @@ namespace OnlineStore.DeviceLibrary
}
}
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
InStore
))
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
InStore
))
{
{
int
newIndex
=
autoPositionIndex
;
int
newIndex
=
autoPositionIndex
-
1
;
if
(
newIndex
<
0
)
if
(
newIndex
<
0
)
{
{
if
(
AutoStartIndex
>=
0
&&
AutoStartIndex
<
PositionNumList
.
Count
)
if
(
AutoStartIndex
>=
0
&&
AutoStartIndex
<
PositionNumList
.
Count
)
...
...
source/DeviceLibrary/acSingleStore/StoreManager.cs
查看文件 @
be18814
...
@@ -29,24 +29,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -29,24 +29,6 @@ namespace OnlineStore.DeviceLibrary
public
StoreManager
()
public
StoreManager
()
{
{
}
}
public
static
bool
OpenShuoKe
(
AC_SA_BoxBean
box
)
{
//打开硕科步进驱动器端口
Parity
parity
=
(
Parity
)
box
.
Config
.
CompressAxis_PortParity
;
StopBits
bit
=
(
StopBits
)
box
.
Config
.
CompressAxis_StopBits
;
bool
result
=
ShuoKeControls
.
InitPort
(
box
.
Config
.
CompressAxis_PortName
,
box
.
Config
.
CompressAxis_PortBaudrate
,
box
.
Config
.
CompressAxis_PortParity
,
8
,
bit
);
if
(
result
)
{
LogUtil
.
info
(
box
.
StoreName
+
"打开硕科步进控制器【"
+
box
.
Config
.
CompressAxis_PortName
+
"】成功"
);
return
true
;
}
else
{
LogUtil
.
error
(
box
.
StoreName
+
"打开硕科步进控制器【"
+
box
.
Config
.
CompressAxis_PortName
+
"】失败,启动失败!"
);
return
false
;
}
}
public
static
void
CheckEnum
(
Type
type
)
public
static
void
CheckEnum
(
Type
type
)
{
{
if
(
type
.
IsEnum
)
if
(
type
.
IsEnum
)
...
...
source/DeviceLibrary/halcon/CodeManager.cs
查看文件 @
be18814
...
@@ -4,6 +4,7 @@ using OnlineStore.Common;
...
@@ -4,6 +4,7 @@ using OnlineStore.Common;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.Drawing
;
using
System.Drawing.Imaging
;
using
System.IO
;
using
System.IO
;
using
System.Linq
;
using
System.Linq
;
using
System.Runtime.ExceptionServices
;
using
System.Runtime.ExceptionServices
;
...
@@ -12,14 +13,14 @@ using System.Windows.Forms;
...
@@ -12,14 +13,14 @@ using System.Windows.Forms;
namespace
OnlineStore.DeviceLibrary
namespace
OnlineStore.DeviceLibrary
{
{
public
class
CodeManager
public
class
CodeManager
{
{
public
static
List
<
string
>
cameraNameList
=
new
List
<
string
>();
public
static
List
<
string
>
cameraNameList
=
new
List
<
string
>();
public
static
List
<
string
>
codeTypeList
=
new
List
<
string
>();
public
static
List
<
string
>
codeTypeList
=
new
List
<
string
>();
public
static
List
<
string
>
balserNameList
=
new
List
<
string
>();
//
public static List<string> balserNameList = new List<string>();
public
static
List
<
string
>
hikNameList
=
new
List
<
string
>();
public
static
List
<
string
>
hikNameList
=
new
List
<
string
>();
private
static
char
spiltChar
=
'#'
;
private
static
char
spiltChar
=
'#'
;
/// <summary>
/// <summary>
...
@@ -33,7 +34,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -33,7 +34,7 @@ namespace OnlineStore.DeviceLibrary
codeTypeList
=
new
List
<
string
>();
codeTypeList
=
new
List
<
string
>();
HDLogUtil
.
LogName
=
"RollingLogFileAppender"
;
HDLogUtil
.
LogName
=
"RollingLogFileAppender"
;
try
try
{
{
string
[]
nameArray
=
nameStr
.
Split
(
spiltChar
);
string
[]
nameArray
=
nameStr
.
Split
(
spiltChar
);
foreach
(
string
str
in
nameArray
)
foreach
(
string
str
in
nameArray
)
{
{
...
@@ -43,94 +44,87 @@ namespace OnlineStore.DeviceLibrary
...
@@ -43,94 +44,87 @@ namespace OnlineStore.DeviceLibrary
string
[]
codeArray
=
codeStr
.
Split
(
spiltChar
);
string
[]
codeArray
=
codeStr
.
Split
(
spiltChar
);
foreach
(
string
str
in
codeArray
)
foreach
(
string
str
in
codeArray
)
{
{
if
(
str
.
Trim
().
Equals
(
""
))
{
continue
;
}
LogUtil
.
info
(
"加载到配置二维码类型:"
+
str
.
Trim
());
LogUtil
.
info
(
"加载到配置二维码类型:"
+
str
.
Trim
());
codeTypeList
.
Add
(
str
.
Trim
());
codeTypeList
.
Add
(
str
.
Trim
());
}
}
string
[]
names
=
CodeLibrary
.
HIKCamera
.
Instance
.
CameraName
;
LoadCamera
(
false
);
hikNameList
.
AddRange
(
names
);
foreach
(
string
str
in
names
)
{
LogUtil
.
info
(
"加载到HIK相机:"
+
str
.
Trim
());
}
names
=
CodeLibrary
.
BaslerCamera
.
Instance
.
CameraName
;
balserNameList
.
AddRange
(
names
);
foreach
(
string
str
in
names
)
{
LogUtil
.
info
(
"加载到Balser相机:"
+
str
.
Trim
());
}
CodeLibrary
.
HDCodeLearnHelper
.
LoadConfig
(
nameStr
,
codeStr
);
CodeLibrary
.
HDCodeLearnHelper
.
LoadConfig
(
nameStr
,
codeStr
);
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
"解析摄像机配置出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
"解析摄像机配置出错:"
+
ex
.
ToString
());
}
}
}
public
static
void
CloseCamera
()
{
BaslerCamera
.
Instance
.
Close
();
HIKCamera
.
Instance
.
Close
();
}
}
private
static
void
LoadCamera
(
bool
isReLoad
)
public
static
Bitmap
GetCamerImage
(
string
cameraName
)
{
{
Bitmap
bitm
=
null
;
if
(
isReLoad
||
Camera
.
_cam
==
null
)
try
{
{
if
(
balserNameList
.
Contains
(
cameraName
))
try
{
{
bool
result
=
BaslerCamera
.
Instance
.
IsOpen
;
if
(
Camera
.
_cam
!=
null
)
if
(!
result
)
{
result
=
BaslerCamera
.
Instance
.
Open
(
cameraName
);
LogUtil
.
info
(
"打开相机:"
+
cameraName
+
"("
+
result
+
")"
);
}
if
(
result
)
{
{
BaslerCamera
.
Instance
.
GrabOne
();
Camera
.
_cam
.
CloseAll
();
bitm
=
BaslerCamera
.
Instance
.
Image
;
//BaslerCamera.Instance.Close();
}
else
{
LogUtil
.
error
(
"相机【"
+
cameraName
+
"】打开失败:"
+
BaslerCamera
.
Instance
.
ErrInfo
);
}
}
Camera
.
Type
=
CameraType
.
HIK
;
Camera
.
_cam
.
Load
();
}
}
else
if
(
hikNameList
.
Contains
(
cameraName
)
)
catch
(
Exception
ex
)
{
{
bool
result
=
HIKCamera
.
Instance
.
IsOpen
;
LogUtil
.
error
(
"加载HIK相机出错:"
+
ex
.
ToString
());
if
(!
result
)
}
{
}
result
=
HIKCamera
.
Instance
.
Open
(
cameraName
);
string
[]
names
=
Camera
.
_cam
.
Name
;
LogUtil
.
info
(
"打开相机:"
+
cameraName
+
"("
+
result
+
")"
);
}
if
(
result
)
if
(
names
!=
null
)
{
{
HIKCamera
.
Instance
.
GrabOne
();
foreach
(
string
n
in
names
)
bitm
=
HIKCamera
.
Instance
.
Image
;
{
//HIKCamera.Instance.Close();
if
(!
hikNameList
.
Contains
(
n
))
}
else
{
{
LogUtil
.
error
(
"相机【"
+
cameraName
+
"】打开失败:"
+
HIKCamera
.
Instance
.
ErrInfo
);
hikNameList
.
Add
(
n
);
}
}
}
}
else
// hikNameList.AddRange(names);
foreach
(
string
name
in
hikNameList
)
{
{
LogUtil
.
info
(
"
未找到相机【"
+
cameraName
+
"】无法获取图片"
);
LogUtil
.
info
(
"
加载到HIK相机:"
+
name
);
}
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"从相机【"
+
cameraName
+
"】获取图片出错:"
+
ex
.
ToString
());
}
return
bitm
;
}
}
[
HandleProcessCorruptedStateExceptions
]
public
static
void
CloseCamera
(
string
cameraName
)
public
static
List
<
string
>
CameraScan
(
)
{
Camera
.
_cam
.
Close
(
cameraName
);
}
public
static
void
CloseAllCamera
()
{
//BaslerCamera.Instance.Close();
//HIKCamera.Instance.Close();
Camera
.
_cam
.
CloseAll
();
}
//public static Bitmap GetCamerImage(string cameraName)
//{
// Bitmap bitm = null;
// try
// {
// bitm = Camera._cam.GrabOneImage(cameraName);
// }
// catch (Exception ex)
// {
// LogUtil.error(" 【" + cameraName + "】获取图片出错:" + ex.ToString());
// }
// return bitm;
//}
[
HandleProcessCorruptedStateExceptions
]
public
static
List
<
string
>
CameraScan
()
{
{
List
<
string
>
codeList
=
new
List
<
string
>();
List
<
string
>
codeList
=
new
List
<
string
>();
List
<
CodeInfo
>
allCodeList
=
new
List
<
CodeInfo
>();
List
<
CodeInfo
>
allCodeList
=
new
List
<
CodeInfo
>();
...
@@ -139,19 +133,21 @@ namespace OnlineStore.DeviceLibrary
...
@@ -139,19 +133,21 @@ namespace OnlineStore.DeviceLibrary
{
{
foreach
(
string
cameraName
in
cameraNameList
)
foreach
(
string
cameraName
in
cameraNameList
)
{
{
using
(
Bitmap
bitmap
=
GetCamerImage
(
cameraName
))
HalconDotNet
.
HObject
ho_Image
=
null
;
try
{
{
if
(
bitmap
==
null
)
ho_Image
=
Camera
.
_cam
.
CaptureOnImage
(
cameraName
);
if
(
ho_Image
==
null
)
{
{
LogUtil
.
error
(
"
摄像机【"
+
cameraName
+
"】获取图片失败
,关闭相机"
);
LogUtil
.
error
(
"
【"
+
cameraName
+
"】取图片失败["
+
Camera
.
_cam
.
ErrInfo
+
"]
,关闭相机"
);
CloseCamera
();
CloseCamera
(
cameraName
);
continue
;
continue
;
}
}
//Bitmap bit = new Bitmap(bitmap);
LogUtil
.
debug
(
" 摄像机【"
+
cameraName
+
"】获取图片完成"
);
//
LogUtil.debug(" 摄像机【" + cameraName + "】获取图片完成");
System
.
Threading
.
Thread
.
Sleep
(
1
);
//
System.Threading.Thread.Sleep(1);
HObject
ho_Image
=
HDCodeHelper
.
Bitmap2HObjectBpp24
(
bitmap
);
//HObject ho_Image = HDCodeHelper.Bitmap2HObjectBpp24(bit
);
LogUtil
.
debug
(
" 摄像机
【"
+
cameraName
+
"】转换图片完成,开始扫码"
);
LogUtil
.
info
(
"
【"
+
cameraName
+
"】转换图片完成,开始扫码"
);
List
<
CodeInfo
>
cc
=
new
List
<
CodeInfo
>();
List
<
CodeInfo
>
cc
=
new
List
<
CodeInfo
>();
foreach
(
string
codeType
in
codeTypeList
)
foreach
(
string
codeType
in
codeTypeList
)
{
{
...
@@ -164,28 +160,45 @@ namespace OnlineStore.DeviceLibrary
...
@@ -164,28 +160,45 @@ namespace OnlineStore.DeviceLibrary
{
{
cc
=
HDCodeHelper
.
DecodeCode
(
ho_Image
,
1
,
GetCodeParamFilePath
(
codeType
),
codeType
);
cc
=
HDCodeHelper
.
DecodeCode
(
ho_Image
,
1
,
GetCodeParamFilePath
(
codeType
),
codeType
);
}
}
//LogUtil.info(" 摄像机
【" + cameraName + "】【"+ codeType + "】扫码完成");
LogUtil
.
info
(
"
【"
+
cameraName
+
"】【"
+
codeType
+
"】扫码完成"
);
}
}
allCodeList
.
AddRange
(
cc
);
allCodeList
.
AddRange
(
cc
);
}
}
catch
(
AccessViolationException
e
)
{
LogUtil
.
error
(
" 扫码出现AccessViolationException异常,关闭相机【"
+
cameraName
+
"】:"
+
e
.
ToString
());
Camera
.
_cam
.
Close
(
cameraName
);
// GC.Collect();
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
" 扫码出错:"
+
ex
.
ToString
());
}
finally
{
if
(
ho_Image
!=
null
)
{
ho_Image
.
Dispose
();
}
}
}
}
}
}
catch
(
AccessViolationException
e
)
catch
(
AccessViolationException
e
)
{
{
LogUtil
.
error
(
"扫码出现AccessViolationException异常:"
+
e
.
ToString
());
LogUtil
.
error
(
"扫码出现AccessViolationException异常:"
+
e
.
ToString
());
GC
.
Collect
();
//
GC.Collect();
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
"扫码出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
"扫码出错:"
+
ex
.
ToString
());
}
}
foreach
(
CodeInfo
info
in
allCodeList
)
foreach
(
CodeInfo
info
in
allCodeList
)
{
{
codeList
.
Add
(
info
.
CodeStr
);
codeList
.
Add
(
info
.
CodeStr
);
}
}
return
codeList
;
return
codeList
;
}
}
public
static
string
GetCodeParamFilePath
(
string
codePath
)
public
static
string
GetCodeParamFilePath
(
string
codePath
)
{
{
...
@@ -200,7 +213,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -200,7 +213,8 @@ namespace OnlineStore.DeviceLibrary
{
{
return
""
;
return
""
;
}
}
}
}
}
}
}
}
source/DeviceLibrary/store/KTK_Store.cs
查看文件 @
be18814
...
@@ -254,7 +254,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -254,7 +254,7 @@ namespace OnlineStore.DeviceLibrary
//如果是进出轴,并且光栅被遮挡,直接返回false
//如果是进出轴,并且光栅被遮挡,直接返回false
if
(
NeedCheckSafetyLight
.
Equals
(
2
))
if
(
NeedCheckSafetyLight
.
Equals
(
2
))
{
{
if
(
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SO_1
0
_DeviceToDoor
)
||
if
(
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SO_1
3
_DeviceToDoor
)
||
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_05_DeviceToDoor
))
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_05_DeviceToDoor
))
{
{
return
false
;
return
false
;
...
...
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
be18814
...
@@ -259,36 +259,39 @@ namespace OnlineStore.DeviceLibrary
...
@@ -259,36 +259,39 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 料仓出库,定位气缸退回(有压紧轴的不需要此步骤),,定位气缸退回(Y104-1/PCI5O1-84) (Y104-2/PCI5O1-91) (Y104-2/PCI5O1-96) 退回到位
/// 料仓出库,定位气缸退回(有压紧轴的不需要此步骤),,定位气缸退回(Y104-1/PCI5O1-84) (Y104-2/PCI5O1-91) (Y104-2/PCI5O1-96) 退回到位
/// </summary>
/// </summary>
SO_09_Location
Cylinder_
Down
=
109
,
SO_09_LocationDown
=
109
,
/// <summary>
/// <summary>
/// 等待门口无料盘
/// 等待门口无料盘
/// </summary>
/// </summary>
SO_091_WaitNoTray
=
115
,
SO_11_WaitNoTray
,
/// <summary>
/// 等待门口无料盘
/// </summary>
SO_12_OpenDoor
,
/// <summary>
/// <summary>
/// 料仓出库,,叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点)
/// 料仓出库,,叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点)
/// /// </summary>
/// /// </summary>
SO_1
0_DeviceToDoor
=
110
,
SO_1
3_DeviceToDoor
,
/// <summary>
/// <summary>
/// 料仓出库,,把物品放下,,轴2( 上下) 至P8( 进料口出料缓冲点)轴4( 压紧) 至P1( 待机点)
/// 料仓出库,,把物品放下,,轴2( 上下) 至P8( 进料口出料缓冲点)轴4( 压紧) 至P1( 待机点)
/// </summary>
/// </summary>
SO_1
1_DevicePutWare
=
111
,
SO_1
4_DevicePutWare
,
/// <summary>
/// <summary>
/// 料仓出库,,叉子从出料口返回,,轴3( 叉子) 动作至P1( 待机点)
/// 料仓出库,,叉子从出料口返回,,轴3( 叉子) 动作至P1( 待机点)
/// </summary>
/// </summary>
SO_1
2_DeviceOutFromDoor
=
112
,
SO_1
5_InoutBack
,
/// <summary>
/// <summary>
/// 需要检测到门口有料盘高度
/// 需要检测到门口有料盘高度
/// </summary>
/// </summary>
SO_1
21_CheckHasTray
=
116
,
SO_1
6_CheckHasTray
,
/// <summary>
/// <summary>
/// 料仓出库,,升降轴返回,, 轴2至P1( 待机点)
/// 料仓出库,,升降轴返回,, 轴2至P1( 待机点)
/// </summary>
/// </summary>
SO_1
3_GoBack
=
113
,
SO_1
7_GoBack
,
/// <summary>
/// <summary>
/// 等待拿走物品
/// 等待拿走物品
/// </summary>
/// </summary>
SO_1
4_WaitTake
=
114
,
SO_1
8_WaitTake
,
#
endregion
#
endregion
...
@@ -296,7 +299,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -296,7 +299,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 入库检测
/// 入库检测
/// </summary>
/// </summary>
SI_00_TrayCheck
=
200
,
SI_00_TrayCheck
=
200
,
/// <summary>
/// <summary>
/// 入库,。定位气缸下降
/// 入库,。定位气缸下降
/// </summary>
/// </summary>
...
...
source/LoadCVSLibrary/storeConfig/config/AC_SA_Config.cs
查看文件 @
be18814
...
@@ -374,61 +374,61 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -374,61 +374,61 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"InOut_Axis"
)]
[
ConfigProAttribute
(
"InOut_Axis"
)]
public
ConfigMoveAxis
InOut_Axis
{
get
;
set
;
}
public
ConfigMoveAxis
InOut_Axis
{
get
;
set
;
}
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制端口号 CompressAxis_PortName COM4
///
//
PRO 硕科步进电机(压紧轴)控制端口号 CompressAxis_PortName COM4
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_PortName"
)]
//
[ConfigProAttribute("CompressAxis_PortName")]
public
string
CompressAxis_PortName
{
get
;
set
;
}
//
public string CompressAxis_PortName { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制波特率 CompressAxis_PortBaudrate 9600
///
//
PRO 硕科步进电机(压紧轴)控制波特率 CompressAxis_PortBaudrate 9600
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_PortBaudrate"
)]
//
[ConfigProAttribute("CompressAxis_PortBaudrate")]
public
int
CompressAxis_PortBaudrate
{
get
;
set
;
}
//
public int CompressAxis_PortBaudrate { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制奇偶校验 CompressAxis_PortParity 2
///
//
PRO 硕科步进电机(压紧轴)控制奇偶校验 CompressAxis_PortParity 2
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_PortParity"
)]
//
[ConfigProAttribute("CompressAxis_PortParity")]
public
int
CompressAxis_PortParity
{
get
;
set
;
}
//
public int CompressAxis_PortParity { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制停止位 CompressAxis_StopBits 1
///
//
PRO 硕科步进电机(压紧轴)控制停止位 CompressAxis_StopBits 1
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_StopBits"
)]
//
[ConfigProAttribute("CompressAxis_StopBits")]
public
int
CompressAxis_StopBits
{
get
;
set
;
}
//
public int CompressAxis_StopBits { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制初速度 CompressAxis_StartSpeed 100
///
//
PRO 硕科步进电机(压紧轴)控制初速度 CompressAxis_StartSpeed 100
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_StartSpeed"
)]
//
[ConfigProAttribute("CompressAxis_StartSpeed")]
public
int
CompressAxis_StartSpeed
{
get
;
set
;
}
//
public int CompressAxis_StartSpeed { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制最大速度 CompressAxis_MaxSpeed 10000
///
//
PRO 硕科步进电机(压紧轴)控制最大速度 CompressAxis_MaxSpeed 10000
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_MaxSpeed"
)]
//
[ConfigProAttribute("CompressAxis_MaxSpeed")]
public
int
CompressAxis_MaxSpeed
{
get
;
set
;
}
//
public int CompressAxis_MaxSpeed { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制末速度 CompressAxis_EndSpeed 10000
///
//
PRO 硕科步进电机(压紧轴)控制末速度 CompressAxis_EndSpeed 10000
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_EndSpeed"
)]
//
[ConfigProAttribute("CompressAxis_EndSpeed")]
public
int
CompressAxis_EndSpeed
{
get
;
set
;
}
//
public int CompressAxis_EndSpeed { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制加速度 CompressAxis_AddSpeed 5000
///
//
PRO 硕科步进电机(压紧轴)控制加速度 CompressAxis_AddSpeed 5000
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_AddSpeed"
)]
//
[ConfigProAttribute("CompressAxis_AddSpeed")]
public
int
CompressAxis_AddSpeed
{
get
;
set
;
}
//
public int CompressAxis_AddSpeed { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制减速度 CompressAxis_DelSpeed 1000
///
//
PRO 硕科步进电机(压紧轴)控制减速度 CompressAxis_DelSpeed 1000
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_DelSpeed"
)]
//
[ConfigProAttribute("CompressAxis_DelSpeed")]
public
int
CompressAxis_DelSpeed
{
get
;
set
;
}
//
public int CompressAxis_DelSpeed { get; set; }
/// <summary>
///
//
<summary>
/// PRO 硕科步进电机(压紧轴)控制归零速度(原点返回速度) CompressAxis_HomeSpeed 10000
///
//
PRO 硕科步进电机(压紧轴)控制归零速度(原点返回速度) CompressAxis_HomeSpeed 10000
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_HomeSpeed"
)]
//
[ConfigProAttribute("CompressAxis_HomeSpeed")]
public
int
CompressAxis_HomeSpeed
{
get
;
set
;
}
//
public int CompressAxis_HomeSpeed { get; set; }
/// <summary>
///
//
<summary>
/// PRO,硕科步进电机轴地址(压紧轴),CompressAxis_Slv,1,,,,,,
///
//
PRO,硕科步进电机轴地址(压紧轴),CompressAxis_Slv,1,,,,,,
/// </summary>
///
//
</summary>
[
ConfigProAttribute
(
"CompressAxis_Slv"
)]
//
[ConfigProAttribute("CompressAxis_Slv")]
public
int
CompressAxis_Slv
{
get
;
set
;
}
//
public int CompressAxis_Slv { get; set; }
/// <summary>
/// <summary>
/// PRO (轴一)旋转轴最小限位 MiddleAxis_PositionMin
/// PRO (轴一)旋转轴最小限位 MiddleAxis_PositionMin
...
@@ -524,30 +524,56 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -524,30 +524,56 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"AIDI2_Addr"
,
true
)]
[
ConfigProAttribute
(
"AIDI2_Addr"
,
true
)]
public
int
AIDI2_Addr
{
get
;
set
;
}
public
int
AIDI2_Addr
{
get
;
set
;
}
//private List<string> TempAddrList = null;
/// <summary>
//public static char TempAddrSpilt = '#';
/// 轴3压紧轴
///// <summary>
/// </summary>
///// 温湿度地址列表
[
ConfigProAttribute
(
"Comp_Axis"
)]
///// </summary>
public
ConfigMoveAxis
Comp_Axis
{
get
;
set
;
}
//public List<string> GetTempAddrList()
/// <summary>
//{
/// PRO (轴四)压紧轴目标速度 CompAxis_TargetSpeed 100
// if (TempAddrList == null)
/// </summary>
// {
[
ConfigProAttribute
(
"CompAxis_TargetSpeed"
)]
// TempAddrList = new List<string>();
public
int
CompAxis_TargetSpeed
{
get
;
set
;
}
// string[] array = Temperate_Serveraddress.Split(TempAddrSpilt);
/// <summary>
// if (array.Length > 0)
/// PRO (轴四)压紧轴加速度 CompAxis_AddSpeed 300
// {
/// </summary>
// foreach (string str in array)
[
ConfigProAttribute
(
"CompAxis_AddSpeed"
)]
// {
public
short
CompAxis_AddSpeed
{
get
;
set
;
}
// if (!str.Equals(""))
/// <summary>
// {
/// PRO (轴四)压紧轴减速度 CompAxis_DelSpeed 300
// TempAddrList.Add(str);
/// </summary>
// }
[
ConfigProAttribute
(
"CompAxis_DelSpeed"
)]
// }
public
short
CompAxis_DelSpeed
{
get
;
set
;
}
// }
/// <summary>
// }
/// PRO (轴四)压紧轴原点低速 CompAxis_HomeLowSpeed 20
// return TempAddrList;
/// </summary>
//}
[
ConfigProAttribute
(
"CompAxis_HomeLowSpeed"
)]
public
int
CompAxis_HomeLowSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴原点高速 CompAxis_HomeHighSpeed 60
/// </summary>
[
ConfigProAttribute
(
"CompAxis_HomeHighSpeed"
)]
public
int
CompAxis_HomeHighSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴原点加速度 CompAxis_HomeAddSpeed 200
/// </summary>
[
ConfigProAttribute
(
"CompAxis_HomeAddSpeed"
)]
public
int
CompAxis_HomeAddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO 压紧轴(轴4)P1速度 CompAxis_P1_Speed 100
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P1_Speed"
)]
public
int
CompAxis_P1_Speed
{
get
;
set
;
}
/// <summary>
/// PRO 压紧轴(轴4)P2速度 CompAxis_P2_Speed 100
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P2_Speed"
)]
public
int
CompAxis_P2_Speed
{
get
;
set
;
}
/// <summary>
///PRO 压紧轴(轴4)P3速度 CompAxis_P3_Speed 100
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P3_Speed"
)]
public
int
CompAxis_P3_Speed
{
get
;
set
;
}
protected
override
void
initMustHavePro
()
protected
override
void
initMustHavePro
()
{
{
...
@@ -625,15 +651,22 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -625,15 +651,22 @@ namespace OnlineStore.LoadCSVLibrary
Config
.
InOut_Axis
.
PositionMax
=
Config
.
InoutAxis_PositionMax
;
Config
.
InOut_Axis
.
PositionMax
=
Config
.
InoutAxis_PositionMax
;
Config
.
UpDown_Axis
.
PositionMin
=
Config
.
UpdownAxis_PositionMin
;
Config
.
UpDown_Axis
.
PositionMin
=
Config
.
UpdownAxis_PositionMin
;
Config
.
UpDown_Axis
.
PositionMax
=
Config
.
UpdownAxis_PositionMax
;
Config
.
UpDown_Axis
.
PositionMax
=
Config
.
UpdownAxis_PositionMax
;
//Config.InOut_Axis.ResolveSpeed = Config.InoutAxis_ResolveSpeed;
//Config.UpDown_Axis.ResolveSpeed = Config.UpdownAxis_ResolveSpeed;
//Config.Middle_Axis.ResolveSpeed = Config.MiddleAxis_ResolveSpeed;
Config
.
Middle_Axis
.
DefaultPosition
=
Config
.
MiddleAxis_P1_Position
;
Config
.
Middle_Axis
.
DefaultPosition
=
Config
.
MiddleAxis_P1_Position
;
Config
.
InOut_Axis
.
DefaultPosition
=
Config
.
InOutAxis_P1_Position
;
Config
.
InOut_Axis
.
DefaultPosition
=
Config
.
InOutAxis_P1_Position
;
Config
.
UpDown_Axis
.
DefaultPosition
=
Config
.
UpDownAxis_DoorOPosition_P1
;
Config
.
UpDown_Axis
.
DefaultPosition
=
Config
.
UpDownAxis_DoorOPosition_P1
;
Config
.
Comp_Axis
.
TargetSpeed
=
Config
.
CompAxis_TargetSpeed
;
Config
.
Comp_Axis
.
AddSpeed
=
Config
.
CompAxis_AddSpeed
;
Config
.
Comp_Axis
.
DelSpeed
=
Config
.
CompAxis_DelSpeed
;
Config
.
Comp_Axis
.
HomeAddSpeed
=
Config
.
CompAxis_HomeAddSpeed
;
Config
.
Comp_Axis
.
HomeHighSpeed
=
Config
.
CompAxis_HomeHighSpeed
;
Config
.
Comp_Axis
.
HomeLowSpeed
=
Config
.
CompAxis_HomeLowSpeed
;
Config
.
Comp_Axis
.
DefaultPosition
=
Config
.
CompressAxis_P1_Position
;
Config
.
Comp_Axis
.
CanErrorCountMax
=
1000
;
Config
.
Comp_Axis
.
CanErrorCountMin
=
10
;
Config
.
Comp_Axis
.
PositionMin
=
0
;
Config
.
Comp_Axis
.
PositionMax
=
0
;
}
}
}
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论