Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 2bb5d4ad
由
LN
编写于
2019-07-16 09:29:44 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
去掉测高功能,增加是否有仓门处理
1 个父辈
dc200d8b
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
315 行增加
和
217 行删除
RC-29-32-ACSingleStore.sln
source/ACSingleStore/App.config
source/ACSingleStore/FrmIOStatus.cs
source/ACSingleStore/FrmStoreBox.Designer.cs
source/ACSingleStore/FrmStoreBox.cs
source/ACSingleStore/记录.txt
source/Common/Setting_Init.cs
source/Common/util/TcpClient.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
source/DeviceLibrary/lineConnect/LineConnect.cs
source/LoadCVSLibrary/storeConfig/config/AC_SA_Config.cs
RC-29-32-ACSingleStore.sln
deleted
100644 → 0
查看文件 @
dc200d8
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2024
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ACServoDriveTest", "source\ACServoDriveTest\ACServoDriveTest.csproj", "{7FA84E1E-BCDE-49F6-BE42-0BC397AF65B8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ACSingleStore", "source\ACSingleStore\ACSingleStore.csproj", "{0D2542F5-DD62-4352-82D0-383D9A045E74}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "source\Common\Common.csproj", "{43CDD09E-FCF3-4960-A01D-3BBFE9933122}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DeviceLibrary", "source\DeviceLibrary\DeviceLibrary.csproj", "{513BC1C9-800D-43A6-9499-3700BAEC3554}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UserFromControl", "source\UserFromControl\UserFromControl.csproj", "{F018462A-D9BC-4365-97F2-F6D71751641E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LoadCSVLibrary", "source\LoadCVSLibrary\LoadCSVLibrary.csproj", "{064BEBF5-8FAA-4EA2-A5F3-A06E6E7D9251}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7FA84E1E-BCDE-49F6-BE42-0BC397AF65B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7FA84E1E-BCDE-49F6-BE42-0BC397AF65B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7FA84E1E-BCDE-49F6-BE42-0BC397AF65B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7FA84E1E-BCDE-49F6-BE42-0BC397AF65B8}.Release|Any CPU.Build.0 = Release|Any CPU
{0D2542F5-DD62-4352-82D0-383D9A045E74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D2542F5-DD62-4352-82D0-383D9A045E74}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D2542F5-DD62-4352-82D0-383D9A045E74}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D2542F5-DD62-4352-82D0-383D9A045E74}.Release|Any CPU.Build.0 = Release|Any CPU
{43CDD09E-FCF3-4960-A01D-3BBFE9933122}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43CDD09E-FCF3-4960-A01D-3BBFE9933122}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43CDD09E-FCF3-4960-A01D-3BBFE9933122}.Release|Any CPU.ActiveCfg = Release|Any CPU
{43CDD09E-FCF3-4960-A01D-3BBFE9933122}.Release|Any CPU.Build.0 = Release|Any CPU
{513BC1C9-800D-43A6-9499-3700BAEC3554}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{513BC1C9-800D-43A6-9499-3700BAEC3554}.Debug|Any CPU.Build.0 = Debug|Any CPU
{513BC1C9-800D-43A6-9499-3700BAEC3554}.Release|Any CPU.ActiveCfg = Release|Any CPU
{513BC1C9-800D-43A6-9499-3700BAEC3554}.Release|Any CPU.Build.0 = Release|Any CPU
{F018462A-D9BC-4365-97F2-F6D71751641E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F018462A-D9BC-4365-97F2-F6D71751641E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F018462A-D9BC-4365-97F2-F6D71751641E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F018462A-D9BC-4365-97F2-F6D71751641E}.Release|Any CPU.Build.0 = Release|Any CPU
{064BEBF5-8FAA-4EA2-A5F3-A06E6E7D9251}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{064BEBF5-8FAA-4EA2-A5F3-A06E6E7D9251}.Debug|Any CPU.Build.0 = Debug|Any CPU
{064BEBF5-8FAA-4EA2-A5F3-A06E6E7D9251}.Release|Any CPU.ActiveCfg = Release|Any CPU
{064BEBF5-8FAA-4EA2-A5F3-A06E6E7D9251}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5459501E-8250-488F-B563-3C6777AEFCBA}
EndGlobalSection
EndGlobal
source/ACSingleStore/App.config
查看文件 @
2bb5d4a
...
...
@@ -38,12 +38,17 @@
<!--压紧轴对应
1
mm
的脉冲-->
<
add
key
=
"ComAxisChangeValue"
value
=
"2400"
/>
<!--温控器类型,
0
=壁挂王字壳温湿度变送器,
1
=妙昕温湿度记录仪-->
<
add
key
=
"HumitureControllerType"
value
=
"
1
"
/>
<
add
key
=
"HumitureControllerType"
value
=
"
0
"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
</
appSettings
>
<!--流水线地址和端口配置-->
<
add
key
=
"LineServerIp"
value
=
"192.168.200.69"
/>
<
add
key
=
"LineServerPort"
value
=
"1234"
/>
</
appSettings
>
<
log4net
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/ACStore-RC29-1.log"
/>
<
file
value
=
"logs/ACStore-RC1246-1.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
...
...
source/ACSingleStore/FrmIOStatus.cs
查看文件 @
2bb5d4a
...
...
@@ -98,7 +98,7 @@ namespace OnlineStore.ACSingleStore
private
void
FrmTest_FormClosing
(
object
sender
,
FormClosingEventArgs
e
)
{
KNDAIManager
.
NeedShow
=
false
;
//
KNDAIManager.NeedShow = false;
try
{
if
(
this
.
timer1
.
Enabled
)
...
...
@@ -159,7 +159,7 @@ namespace OnlineStore.ACSingleStore
private
void
FrmStoreIOStatus_Load
(
object
sender
,
EventArgs
e
)
{
KNDAIManager
.
NeedShow
=
true
;
//
KNDAIManager.NeedShow = true;
}
private
void
cmbWriteIO_DrawItem
(
object
sender
,
DrawItemEventArgs
e
)
...
...
@@ -259,13 +259,15 @@ namespace OnlineStore.ACSingleStore
}
private
void
btnOpenDoor_Click
(
object
sender
,
EventArgs
e
)
{
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
StoreManager
.
Store
.
OpenDoor
(
false
);
}
private
void
btnCloseDoor_Click
(
object
sender
,
EventArgs
e
)
{
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
StoreManager
.
Store
.
CloseDoor
(
false
);
}
private
void
btnLocationUp_Click
(
object
sender
,
EventArgs
e
)
...
...
source/ACSingleStore/FrmStoreBox.Designer.cs
查看文件 @
2bb5d4a
...
...
@@ -1878,7 +1878,7 @@
//
this
.
扫码测试
ToolStripMenuItem
.
Name
=
"扫码测试ToolStripMenuItem"
;
this
.
扫码测试
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
179
,
30
);
this
.
扫码测试
ToolStripMenuItem
.
Text
=
"扫码测试"
;
this
.
扫码测试
ToolStripMenuItem
.
Text
=
"扫码测试"
;
//
// toolStripSeparator10
//
...
...
@@ -2072,7 +2072,7 @@
this
.
tabPage2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
);
this
.
tabPage2
.
Size
=
new
System
.
Drawing
.
Size
(
560
,
670
);
this
.
tabPage2
.
TabIndex
=
1
;
this
.
tabPage2
.
Text
=
"
压紧轴/温湿度
"
;
this
.
tabPage2
.
Text
=
"
温湿度
"
;
this
.
tabPage2
.
UseVisualStyleBackColor
=
true
;
//
// groupBox7
...
...
source/ACSingleStore/FrmStoreBox.cs
查看文件 @
2bb5d4a
...
...
@@ -995,8 +995,10 @@ namespace OnlineStore.ACSingleStore
private
void
打开舱门
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
// IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.HIGH);
// IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
StoreManager
.
Store
.
OpenDoor
(
false
);
}
private
void
料仓运转
OFFToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
...
...
@@ -1007,8 +1009,9 @@ namespace OnlineStore.ACSingleStore
private
void
关闭仓门
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
// IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
// IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
StoreManager
.
Store
.
CloseDoor
(
false
);
}
private
void
回待机点
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
...
...
@@ -1248,7 +1251,7 @@ namespace OnlineStore.ACSingleStore
IOManager
.
instance
.
CloseAllDO
();
StoreOpenStatus
(
false
);
IOManager
.
instance
.
CloseAllConnection
();
KNDAIManager
.
CloseAllConnection
();
//
KNDAIManager.CloseAllConnection();
//WCFControl.CloseWCF();
System
.
Environment
.
Exit
(
System
.
Environment
.
ExitCode
);
}
...
...
@@ -1305,71 +1308,7 @@ namespace OnlineStore.ACSingleStore
int
value
=
ACServerManager
.
GetHomeSingle
(
GetPortName
(),
GetSlaveAddr
());
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);
// txtComAPosition.Text = value.ToString();
// 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
btnTempInit_Click
(
object
sender
,
EventArgs
e
)
{
...
...
@@ -1395,8 +1334,9 @@ namespace OnlineStore.ACSingleStore
private
void
btnOpenDoor_Click
(
object
sender
,
EventArgs
e
)
{
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
StoreManager
.
Store
.
OpenDoor
(
false
);
}
private
void
btnClearL_Click
(
object
sender
,
EventArgs
e
)
...
...
@@ -1455,8 +1395,9 @@ namespace OnlineStore.ACSingleStore
private
void
btnCloseDoor_Click
(
object
sender
,
EventArgs
e
)
{
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
StoreManager
.
Store
.
CloseDoor
(
false
);
}
}
}
source/ACSingleStore/记录.txt
查看文件 @
2bb5d4a
...
...
@@ -81,11 +81,13 @@
压紧轴回原点增加自动重复运动功能。
新建料仓RC1246,作为阳光电源流水线单台料仓软件
新建料仓RC1246,作为阳光电源流水线单台料仓软件
需要修改内容:压紧轴改为伺服控制
不需要扫码,测高
前三台为7寸料盘,无舱门
第四台是13寸料盘,有舱门
修改IO
去掉测高,测高在流水线处处理
\ No newline at end of file
source/Common/Setting_Init.cs
查看文件 @
2bb5d4a
...
...
@@ -86,5 +86,8 @@ namespace OnlineStore.Common
public
static
string
HumitureControllerType
=
"HumitureControllerType"
;
public
static
string
UseAIOBOX
=
"UseAIOBOX"
;
public
static
string
LineServerIp
=
"LineServerIp"
;
public
static
string
LineServerPort
=
"LineServerPort"
;
}
}
source/Common/util/TcpClient.cs
查看文件 @
2bb5d4a
...
...
@@ -12,6 +12,10 @@ namespace OnlineStore.Common
{
public
class
TcpClient
{
private
static
string
ServerIp
=
""
;
private
static
int
ServerPort
=
0
;
private
System
.
Timers
.
Timer
ReConnectTimer
=
null
;
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
delegate
void
HandleMessage
(
string
message
);
...
...
@@ -79,10 +83,21 @@ namespace OnlineStore.Common
/// <summary>
/// 连接服务器
/// </summary>
public
bool
connect
(
string
serverIP
,
int
serverPort
,
HandleMessage
HandleMessage
)
public
bool
connect
(
string
serverIP
,
int
serverPort
,
HandleMessage
HandleMessage
,
int
ReConnectMs
=
0
)
{
m_clientSocket
=
new
Socket
(
AddressFamily
.
InterNetwork
,
SocketType
.
Stream
,
ProtocolType
.
Tcp
);
IPEndPoint
remoteEndPoint
=
new
IPEndPoint
(
IPAddress
.
Parse
(
serverIP
),
serverPort
);
onReceived
=
HandleMessage
;
ServerIp
=
serverIP
;
ServerPort
=
serverPort
;
ReConnectTimer
=
new
System
.
Timers
.
Timer
();
ReConnectTimer
.
Interval
=
ReConnectMs
;
if
(
ReConnectMs
>
0
)
{
ReConnectTimer
.
AutoReset
=
true
;
ReConnectTimer
.
Elapsed
+=
ReConnectTimer_Elapsed
;
}
try
{
...
...
@@ -92,10 +107,12 @@ namespace OnlineStore.Common
m_clientSocket
.
BeginReceive
(
m_receiveBuffer
,
0
,
m_receiveBuffer
.
Length
,
0
,
new
AsyncCallback
(
ReceiveCallBack
),
null
);
onReceived
=
HandleMessage
;
LogUtil
.
info
(
LOGGER
,
"Connect to "
+
serverIP
+
":"
+
serverPort
+
" success!"
);
ReConnectTimer
.
Start
();
return
true
;
}
else
{
ReConnectTimer
.
Start
();
LogUtil
.
info
(
LOGGER
,
"Connect to "
+
serverIP
+
":"
+
serverPort
+
" fail!"
);
}
}
...
...
@@ -107,11 +124,38 @@ namespace OnlineStore.Common
return
false
;
}
private
void
ReConnectTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
{
try
{
if
(
m_clientSocket
!=
null
)
{
if
(!
m_clientSocket
.
Connected
)
{
IPEndPoint
remoteEndPoint
=
new
IPEndPoint
(
IPAddress
.
Parse
(
ServerIp
),
ServerPort
);
m_clientSocket
.
Connect
(
remoteEndPoint
);
if
(
m_clientSocket
.
Connected
)
{
m_clientSocket
.
BeginReceive
(
m_receiveBuffer
,
0
,
m_receiveBuffer
.
Length
,
0
,
new
AsyncCallback
(
ReceiveCallBack
),
null
);
LogUtil
.
info
(
LOGGER
,
"Connect to "
+
ServerIp
+
":"
+
ServerPort
+
" success!"
);
}
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"重连处理出错:"
+
ex
.
ToString
());
}
}
/// <summary>
/// 断开连接
/// </summary>
public
void
close
()
{
ReConnectTimer
.
Stop
();
if
(
m_clientSocket
!=
null
)
{
m_clientSocket
.
Close
();
...
...
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
2bb5d4a
...
...
@@ -64,10 +64,9 @@
<Compile Include="IO\AIOBOX\BLL2.cs" />
<Compile Include="IO\AIOBOX\Common.cs" />
<Compile Include="IO\IOManager.cs" />
<Compile Include="IO\KangNaiDe\AITcpClient.cs" />
<Compile Include="IO\KangNaiDe\KNDAIManager.cs" />
<Compile Include="IO\KangNaiDe\KNDManager.cs" />
<Compile Include="IO\KangNaiDe\MasterTcpClient.cs" />
<Compile Include="lineConnect\LineConnect.cs" />
<Compile Include="PanasonicServo\ACCMDManager.cs" />
<Compile Include="PanasonicServo\ACServerManager.cs" />
<Compile Include="PanasonicServo\ACServerManager_Partial.cs" />
...
...
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
查看文件 @
2bb5d4a
...
...
@@ -118,3 +118,4 @@ PRO,模拟信号3的地址,AIDI3_Addr,5,,,,,,,
PRO,模拟信号4的地址,AIDI4_Addr,6,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,192.168.200.11#8,,,,,, ,
PRO,模块对应的DO数量,IO_DOLength,192.168.200.11#8,,,,,,,
PRO,是否有仓门,HasDoor,1,,,,,,,
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
查看文件 @
2bb5d4a
...
...
@@ -93,7 +93,7 @@ namespace OnlineStore.DeviceLibrary
IOManager
.
Init
();
//初始化 //连接设备
IOManager
.
instance
.
ConnectionIOList
(
Config
.
DIODeviceNameList
);
KNDAIManager
.
ConnectionIP
(
Config
.
AIDevice_IP
);
//
KNDAIManager.ConnectionIP(Config.AIDevice_IP);
//scanSocket.OnScanRevice += onCodeReceived;
mainTimer
.
Enabled
=
false
;
...
...
@@ -184,6 +184,7 @@ namespace OnlineStore.DeviceLibrary
storeStatus
=
StoreStatus
.
ResetMove
;
//启动温湿度服务器
HumitureController
.
Init
(
Config
.
Humiture_Port
);
LineConnect
.
StartConnect
();
ReturnHome
();
StartTime
=
DateTime
.
Now
;
...
...
@@ -338,7 +339,7 @@ namespace OnlineStore.DeviceLibrary
//ComBeforeHomeMove();
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
CloseDoor
AndWait
();
CloseDoor
();
break
;
case
StoreMoveStep
.
BOX_H_InOutToP1
:
//如果此时轴三还在报警,需要提示错误并等待
...
...
@@ -384,7 +385,7 @@ namespace OnlineStore.DeviceLibrary
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
//关闭舱门
CloseDoor
AndWait
();
CloseDoor
();
break
;
case
StoreMoveStep
.
BOX_M_H_TOP1_CompressHome
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
);
...
...
@@ -416,20 +417,32 @@ namespace OnlineStore.DeviceLibrary
}
}
p
rivate
void
OpenDoorAndWait
(
)
p
ublic
void
OpenDoor
(
bool
IsWait
=
true
)
{
Thread
.
Sleep
(
60
);
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
if
(
Config
.
HasDoor
.
Equals
(
1
))
{
Thread
.
Sleep
(
60
);
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
if
(
IsWait
)
{
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
}
}
}
p
rivate
void
CloseDoorAndWait
(
)
p
ublic
void
CloseDoor
(
bool
IsWait
=
true
)
{
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
if
(
Config
.
HasDoor
.
Equals
(
1
))
{
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
if
(
IsWait
)
{
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
}
}
}
/// <summary>
...
...
@@ -464,7 +477,7 @@ namespace OnlineStore.DeviceLibrary
//ComBeforeHomeMove();
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
CloseDoor
AndWait
();
CloseDoor
();
break
;
case
StoreMoveStep
.
BOX_H_InOutToP1
:
...
...
@@ -631,6 +644,7 @@ namespace OnlineStore.DeviceLibrary
TimeSpan
span
=
DateTime
.
Now
-
StartTime
;
IsRun
=
false
;
LineConnect
.
StopConnect
();
IOManager
.
instance
.
CloseAllDO
();
if
(
IsHasCompress_Axis
)
{
...
...
@@ -1343,8 +1357,36 @@ namespace OnlineStore.DeviceLibrary
}
public
void
ReviceLineInStoreCMD
(
string
posId
,
string
plateH
,
string
plateW
,
string
message
)
{
//根据发送的posId获取位置列表
ACStorePosition
position
=
CSVPositionReader
<
ACStorePosition
>.
GetPositon
(
posId
);
if
(
position
==
null
)
{
//出入库没有找到服务器发送的库位,需要打印日志方便查询原因
WarnMsg
=
"入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】 "
;
LogUtil
.
error
(
LOGGER
,
"收到服务器入库命令:入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
LogUtil
.
info
(
LOGGER
,
"收到服务器入库命令:入库未找到库位:二维码【"
+
message
+
"】库位【"
+
posId
+
"】"
);
return
;
}
//TODO:判断BOX是否处于可以入库状态,如果调试或急停中,需要返回给服务器;
if
(
CanStarInOut
())
{
IsScanCode
=
false
;
InOutStoreParam
param
=
new
InOutStoreParam
(
message
,
posId
,
plateH
,
plateW
,
0
);
StartInStoreMove
(
param
);
//如果当前正在出入库中,需要记录下来,等待空闲时执行
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 开始入库!"
);
}
else
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 正在忙碌中,无法入库!"
);
IsScanCode
=
false
;
}
}
#
endregion
#
region
温湿度处理
/// <summary>
...
...
@@ -1500,6 +1542,15 @@ namespace OnlineStore.DeviceLibrary
LOGGER
.
Error
(
"定时给服务器发送消息出错:"
,
ex
);
}
}
if
(
LineConnect
.
IsConnect
())
{
string
posID
=
""
;
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
||
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
posID
=
StoreMove
.
MoveParam
.
PositionNum
;
}
LineConnect
.
SendHeart
(
Config
.
Id
,
Config
.
CID
,
(
int
)
storeStatus
,
(
int
)
storeRunStatus
,
posID
);
}
HumitureController
.
QueryData
();
HumidityProcess
();
LedProcess
();
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
查看文件 @
2bb5d4a
...
...
@@ -278,7 +278,7 @@ namespace OnlineStore.DeviceLibrary
{
InStoreLog
(
"入库:SI_02_ 进出轴(叉子)动作至P1,打开舱门"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_02_InOutAxisHome
);
OpenDoor
AndWait
();
OpenDoor
();
InOutBackToP1
(
moveP
.
InOut_P1
);
}
private
void
SI_05_DeviceToDoor
()
...
...
@@ -372,8 +372,9 @@ namespace OnlineStore.DeviceLibrary
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
//关闭舱门
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
CloseDoor
(
false
);
}
else
{
...
...
@@ -389,8 +390,9 @@ namespace OnlineStore.DeviceLibrary
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
//关闭舱门
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
CloseDoor
(
false
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_09_MoveToBag
)
{
...
...
@@ -445,7 +447,7 @@ namespace OnlineStore.DeviceLibrary
ComMoveToPosition
(
moveP
.
ComPress_P1
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
CloseDoor
AndWait
();
CloseDoor
();
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_14_GoBack
)
{
...
...
@@ -608,7 +610,7 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_091_WaitNoTray
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Door
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
0
));
OpenDoor
AndWait
();
OpenDoor
();
}
else
...
...
@@ -625,7 +627,7 @@ namespace OnlineStore.DeviceLibrary
OutStoreLog
(
"出库:SO_091 打开仓门,等待门口无料盘 "
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Door
,
IO_VALUE
.
LOW
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitHeight
(
0
));
OpenDoor
AndWait
();
OpenDoor
();
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_091_WaitNoTray
)
...
...
@@ -651,7 +653,7 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_13_GoBack
);
OutStoreLog
(
"出库:SO_13 升降轴返回,轴2至P1(待机点) ,关闭舱门"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
CloseDoor
AndWait
();
CloseDoor
();
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_13_GoBack
)
{
...
...
source/DeviceLibrary/lineConnect/LineConnect.cs
0 → 100644
查看文件 @
2bb5d4a
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
namespace
OnlineStore.DeviceLibrary
{
public
class
LineConnect
{
private
static
TcpClient
client
=
null
;
public
static
void
StartConnect
()
{
string
lineServer
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
LineServerIp
);
int
linePort
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
LineServerPort
);
client
=
new
TcpClient
();
bool
result
=
client
.
connect
(
lineServer
,
linePort
,
HandlerMsg
,
2000
);
}
public
static
void
StopConnect
()
{
client
.
close
();
}
private
static
int
seq
=
1
;
public
static
int
nextSeq
()
{
if
(
seq
.
Equals
(
Int32
.
MaxValue
))
{
LogUtil
.
info
(
"seq当前值:"
+
seq
+
",重置seq=0"
);
seq
=
0
;
}
Interlocked
.
Increment
(
ref
seq
);
return
seq
;
}
public
static
void
SendHeart
(
int
id
,
string
cid
,
int
ss
,
int
runs
,
string
posid
)
{
try
{
string
heartMsg
=
cmd_heart
+
cmd_spilt
+
id
+
cmd_spilt
+
cid
+
cmd_spilt
+
nextSeq
()
+
cmd_spilt
+
ss
+
cmd_spilt
+
runs
+
cmd_spilt
+
posid
+
cmd_spilt
;
client
.
send
(
heartMsg
+
"\r\n"
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"SendHeart 出错:"
+
ex
.
ToString
());
}
}
public
static
void
OutStoreEnd
(
int
id
,
string
cid
,
int
ss
,
int
runs
,
string
posid
,
string
plateH
,
string
plateW
)
{
try
{
string
heartMsg
=
cmd_outend
+
cmd_spilt
+
id
+
cmd_spilt
+
cid
+
cmd_spilt
+
nextSeq
()
+
cmd_spilt
+
ss
+
cmd_spilt
+
runs
+
cmd_spilt
+
posid
+
cmd_spilt
;
string
msg
=
heartMsg
+
posid
+
cmd_spilt
+
plateH
+
cmd_spilt
+
plateW
+
cmd_spilt
;
client
.
send
(
msg
+
"\r\n"
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"OutStoreEnd 出错:"
+
ex
.
ToString
());
}
}
private
static
void
HandlerMsg
(
string
message
)
{
try
{
string
[]
msgArray
=
message
.
Split
(
cmd_spilt
);
if
(
msgArray
.
Length
>
4
)
{
string
cmd
=
msgArray
[
0
];
if
(
cmd
.
Equals
(
cmd_startIn
))
{
string
posId
=
msgArray
[
1
];
string
plateH
=
msgArray
[
2
];
string
plateW
=
msgArray
[
3
];
string
code
=
msgArray
[
4
];
StoreManager
.
Store
.
ReviceLineInStoreCMD
(
posId
,
plateH
,
plateW
,
code
);
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"HandlerMsg 出错:"
+
ex
.
ToString
());
}
}
public
static
char
cmd_spilt
=
';'
;
private
static
string
cmd_heart
=
"heart"
;
private
static
string
cmd_outend
=
"outend"
;
private
static
string
cmd_startIn
=
"starIn"
;
public
static
bool
IsConnect
()
{
return
true
;
}
}
}
source/LoadCVSLibrary/storeConfig/config/AC_SA_Config.cs
查看文件 @
2bb5d4a
...
...
@@ -452,53 +452,53 @@ namespace OnlineStore.LoadCSVLibrary
public
string
Humiture_Port
{
get
;
set
;
}
/// <summary>
/// PRO 模拟量IO模块的IP地址 AIDevice_IP 192.168.200.11
/// </summary>
[
ConfigProAttribute
(
"AIDevice_IP"
,
true
)]
public
string
AIDevice_IP
{
get
;
set
;
}
/// <summary>
/// PRO,模拟信号1默认高度,AIDI1_DefaultPosition,1,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"AIDI1_DefaultPosition"
,
true
)]
public
double
AIDI1_DefaultPosition
{
get
;
set
;
}
/// <summary>
/// PRO,模拟信号2默认高度,AIDI2_DefaultPosition,1,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"AIDI2_DefaultPosition"
,
true
)]
public
double
AIDI2_DefaultPosition
{
get
;
set
;
}
/// <summary>
/// PRO,模拟信号3默认高度,AIDI3_DefaultPosition,1,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"AIDI3_DefaultPosition"
,
false
)]
public
double
AIDI3_DefaultPosition
{
get
;
set
;
}
/// <summary>
/// PRO,模拟信号4默认高度,AIDI4_DefaultPosition,1,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"AIDI4_DefaultPosition"
,
false
)]
public
double
AIDI4_DefaultPosition
{
get
;
set
;
}
/// <summary>
/// PRO 模拟信号1的地址 AIDI1_Addr 7
/// </summary>
[
ConfigProAttribute
(
"AIDI1_Addr"
,
true
)]
public
int
AIDI1_Addr
{
get
;
set
;
}
/// <summary>
/// PRO 模拟信号2的地址 AIDI2_Addr 8
/// </summary>
[
ConfigProAttribute
(
"AIDI2_Addr"
,
true
)]
public
int
AIDI2_Addr
{
get
;
set
;
}
/// <summary>
/// PRO 模拟信号3的地址 AIDI3_Addr 5
/// </summary>
[
ConfigProAttribute
(
"AIDI3_Addr"
,
false
)]
public
int
AIDI3_Addr
{
get
;
set
;
}
/// <summary>
/// PRO 模拟信号4的地址 AIDI4_Addr 6
/// </summary>
[
ConfigProAttribute
(
"AIDI4_Addr"
,
false
)]
public
int
AIDI4_Addr
{
get
;
set
;
}
///
//
<summary>
///
//
PRO 模拟量IO模块的IP地址 AIDevice_IP 192.168.200.11
///
//
</summary>
//
[ConfigProAttribute("AIDevice_IP", true)]
//
public string AIDevice_IP { get; set; }
///
//
<summary>
///
//
PRO,模拟信号1默认高度,AIDI1_DefaultPosition,1,,,,,,,
///
//
</summary>
//
[ConfigProAttribute("AIDI1_DefaultPosition", true)]
//
public double AIDI1_DefaultPosition { get; set; }
///
//
<summary>
///
//
PRO,模拟信号2默认高度,AIDI2_DefaultPosition,1,,,,,,,
///
//
</summary>
//
[ConfigProAttribute("AIDI2_DefaultPosition", true)]
//
public double AIDI2_DefaultPosition { get; set; }
///
//
<summary>
///
//
PRO,模拟信号3默认高度,AIDI3_DefaultPosition,1,,,,,,,
///
//
</summary>
//
[ConfigProAttribute("AIDI3_DefaultPosition", false )]
//
public double AIDI3_DefaultPosition { get; set; }
///
//
<summary>
///
//
PRO,模拟信号4默认高度,AIDI4_DefaultPosition,1,,,,,,,
///
//
</summary>
//
[ConfigProAttribute("AIDI4_DefaultPosition", false )]
//
public double AIDI4_DefaultPosition { get; set; }
///
//
<summary>
///
//
PRO 模拟信号1的地址 AIDI1_Addr 7
///
//
</summary>
//
[ConfigProAttribute("AIDI1_Addr", true)]
//
public int AIDI1_Addr { get; set; }
///
//
<summary>
///
//
PRO 模拟信号2的地址 AIDI2_Addr 8
///
//
</summary>
//
[ConfigProAttribute("AIDI2_Addr", true)]
//
public int AIDI2_Addr { get; set; }
///
//
<summary>
///
//
PRO 模拟信号3的地址 AIDI3_Addr 5
///
//
</summary>
//
[ConfigProAttribute("AIDI3_Addr", false )]
//
public int AIDI3_Addr { get; set; }
///
//
<summary>
///
//
PRO 模拟信号4的地址 AIDI4_Addr 6
///
//
</summary>
//
[ConfigProAttribute("AIDI4_Addr", false )]
//
public int AIDI4_Addr { get; set; }
/// <summary>
/// PRO IO模块对应的DI数量 IO_DILength 192.168.200.10#16;192.168.200.11#4
...
...
@@ -510,7 +510,12 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
[
ConfigProAttribute
(
"IO_DOLength"
)]
public
string
IO_DOLength
{
get
;
set
;
}
/// <summary>
/// PRO 是否有仓门 HasDoor 1
/// </summary>
[
ConfigProAttribute
(
"HasDoor"
)]
public
int
HasDoor
{
get
;
set
;
}
protected
override
void
initMustHavePro
()
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论