Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 90fd6156
由
LN
编写于
2019-11-20 17:10:48 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
fe0f0af3
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
221 行增加
和
329 行删除
dll/Asa.IOModule.AIOBOX.dll
dll/Asa.IOModule.AIOBOX.xml
source/ACPackingStore/ACPackingStore.csproj
source/ACPackingStore/App.config
source/ACPackingStore/FrmBox.cs
source/ACPackingStore/FrmIOStatus.cs
source/ACPackingStore/positionTool/FrmPositionTool.cs
source/ACPackingStore/记录.txt
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
source/DeviceLibrary/device/IO/AIOBOX/AIOBOXManager.cs
source/DeviceLibrary/device/halcon/CodeManager.cs
source/DeviceLibrary/store/StoreStep.cs
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
dll/Asa.IOModule.AIOBOX.dll
查看文件 @
90fd615
此文件类型无法预览
dll/Asa.IOModule.AIOBOX.xml
查看文件 @
90fd615
...
...
@@ -9,12 +9,6 @@
AIOBOX操作类
</summary>
</member>
<member
name=
"F:Asa.IOModule.AIOBOX._unrevdRemote"
>
<summary>
暂停次数
WriteDO 命令非常多时,暂停一次发送 ReadDI 或 ReadDO
</summary>
</member>
<member
name=
"F:Asa.IOModule.AIOBOX.SEND_SLEEP"
>
<summary>
每条命令发送的间隔
...
...
@@ -22,13 +16,12 @@
小于30时,会出现接收数据连包的情况
</summary>
</member>
<member
name=
"F:Asa.IOModule.AIOBOX.
LISTEN_SLEEP
"
>
<member
name=
"F:Asa.IOModule.AIOBOX.
PORT
"
>
<summary>
监听网络接收数据的间隔
必须小于SEND_SLEEP
ModBus端口
</summary>
</member>
<member
name=
"T:Asa.IOModule.AIOBOX.DI_Changed"
>
<member
name=
"T:Asa.IOModule.AIOBOX.DI
O
_Changed"
>
<summary>
自动读取DI委托
</summary>
...
...
@@ -40,19 +33,12 @@
自动读取DI事件触发
</summary>
</member>
<member
name=
"T:Asa.IOModule.AIOBOX.DO_Changed"
>
<summary>
自动读取DO委托
</summary>
<param
name=
"box"
>
AIOBOX
</param>
<param
name=
"sta"
>
所有DO状态
</param>
</member>
<member
name=
"E:Asa.IOModule.AIOBOX.DO_Changed_Event"
>
<summary>
自动读取DO事件触发
</summary>
</member>
<member
name=
"T:Asa.IOModule.AIOBOX.AI_Changed"
>
<member
name=
"T:Asa.IOModule.AIOBOX.AI
O
_Changed"
>
<summary>
自动读取AI委托
</summary>
...
...
@@ -64,13 +50,6 @@
自动读取AI事件触发
</summary>
</member>
<member
name=
"T:Asa.IOModule.AIOBOX.AO_Changed"
>
<summary>
自动读取AO委托
</summary>
<param
name=
"box"
>
AIOBOX
</param>
<param
name=
"val"
>
所有AO的值
</param>
</member>
<member
name=
"E:Asa.IOModule.AIOBOX.AO_Changed_Event"
>
<summary>
自动读取AO事件触发
...
...
@@ -86,11 +65,6 @@
IP地址
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.Port"
>
<summary>
ModBus端口
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.IsConn"
>
<summary>
是否连接
...
...
@@ -101,35 +75,11 @@
错误信息
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.LogOutDir"
>
<summary>
日志输出目录
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.LogOut"
>
<summary>
错误日志输出,默认true
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.InputCount"
>
<summary>
输入总数
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.OutputCount"
>
<summary>
输出总数
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.InputReadSleep"
>
<summary>
自动读取DI间隔
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.OutputReadSleep"
>
<member
name=
"M:Asa.IOModule.AIOBOX.LogPath(System.String)"
>
<summary>
自动读取DO间隔
日志路径,连接前设置路径会自动保存日志
</summary>
<param
name=
"path"
>
文件夹路径
</param>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.SetInput(Asa.IOModule.Box_Type,System.Int32)"
>
<summary>
...
...
@@ -197,6 +147,12 @@
<param
name=
"sta"
></param>
<returns></returns>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.ReverseStatus(Asa.IOModule.Box_Sta@)"
>
<summary>
相反状态(ON/OFF)
</summary>
<param
name=
"sta"
></param>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.ReadDI(System.Int32)"
>
<summary>
读取单个DI输入状态(ON/OFF)
...
...
@@ -292,20 +248,17 @@
读取所有DO状态,功能码1
</summary>
<param
name=
"buff"
></param>
<returns></returns>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.ReadDI(System.Byte[])"
>
<summary>
读取所有DI状态,功能码2
</summary>
<returns></returns>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.ReadAI(System.Byte[])"
>
<summary>
读取所有AI的值,功能码4
</summary>
<param
name=
"buff"
></param>
<returns></returns>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.Command"
>
<summary>
...
...
@@ -373,5 +326,46 @@
闭合,打开,高电平
</summary>
</member>
<member
name=
"T:Asa.IOModule.LogFile"
>
<summary>
日志操作类
</summary>
</member>
<member
name=
"M:Asa.IOModule.LogFile.#ctor(System.String)"
>
<summary>
日志
</summary>
<param
name=
"path"
>
文件夹路径
</param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.Close"
>
<summary>
关闭文件
</summary>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutError(System.String)"
>
<summary>
输出错误
</summary>
<param
name=
"s"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutInfo(System.String)"
>
<summary>
输出信息
</summary>
<param
name=
"s"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutData(System.String,System.Byte[])"
>
<summary>
输出数据
</summary>
<param
name=
"tr"
></param>
<param
name=
"buff"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutData(System.String)"
>
<summary>
输出数据
</summary>
<param
name=
"s"
></param>
</member>
</members>
</doc>
source/ACPackingStore/ACPackingStore.csproj
查看文件 @
90fd615
...
...
@@ -22,7 +22,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>
fals
e</Prefer32Bit>
<Prefer32Bit>
tru
e</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
...
...
source/ACPackingStore/App.config
查看文件 @
90fd615
...
...
@@ -21,9 +21,9 @@
<
add
key
=
"Store_Position_Config"
value
=
"\StoreConfig\linePositions.csv"
/>
<
add
key
=
"BOX_ConfigPath"
value
=
"\StoreConfig\BoxConfig.csv"
/>
<
add
key
=
"Store_Type"
value
=
"RC_AC_PA"
/>
<
add
key
=
"Store_CID"
value
=
"
line-ac
"
/>
<
add
key
=
"Store_CID_1"
value
=
"
line-ac
1"
/>
<
add
key
=
"Store_CID_2"
value
=
"
line-ac
2"
/>
<
add
key
=
"Store_CID"
value
=
"
packing-store
"
/>
<
add
key
=
"Store_CID_1"
value
=
"
packing-store
1"
/>
<
add
key
=
"Store_CID_2"
value
=
"
packing-store
2"
/>
<!--
end
one
store
config
-->
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
...
...
@@ -48,7 +48,7 @@
</
appSettings
>
<
log4net
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/
ACStore-line-ac1
.log"
/>
<
file
value
=
"logs/
Packing-store-1-2
.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
...
...
source/ACPackingStore/FrmBox.cs
查看文件 @
90fd615
...
...
@@ -106,7 +106,7 @@ namespace OnlineStore.ACPackingStore
//txtUpDownP1.Text = ktkPosition.UpDownAxis_P1.ToString();
}
timer1
.
Enabled
=
true
;
timer1
.
Start
()
;
chbDebug
.
Checked
=
BoxBean
.
IsDebug
;
this
.
ShowInTaskbar
=
true
;
...
...
@@ -139,9 +139,7 @@ namespace OnlineStore.ACPackingStore
if
(!
this
.
Visible
)
{
return
;
}
// button6_Click(null, null);
// timer1.Interval = 300;
}
if
(
chbDebug
.
Checked
.
Equals
(
BoxBean
.
IsDebug
).
Equals
(
false
))
{
LoadOk
=
false
;
...
...
@@ -149,28 +147,22 @@ namespace OnlineStore.ACPackingStore
LoadOk
=
true
;
}
lblTemp
.
Text
=
BoxBean
.
humBean
.
currTempStr
;
// lblMoveEquipInfo.Text = "移栽状态:"+(LineConnect.CanStartOut() ? "可出库":"不可出库" )+" "+LineConnect.LastUpdateTime.ToLongTimeString() ;
//忙碌状态不读取状态
//if (!BoxBean.storeRunStatus.Equals(StoreRunStatus.Busy))
//{
// if (chbAutoRead.Checked)
// {
// string portName = GetPortName();
// int SlvAddr = GetSlaveAddr();
// //判断私服是否打开、
// if (ACServerManager.ServerOnStatus(portName, SlvAddr))
// {
// txtServoStatue.Text = "✔";
// int lCountPulse = ACServerManager.GetActualtPosition(portName, SlvAddr);
// lblCountPulse.Text = string.Format("{0:d}", lCountPulse);
// }
// else
// {
// txtServoStatue.Text = "✘";
// }
// }
//}
lblWarnMsg
.
Text
=
BoxBean
.
WarnMsg
;
if
(
BoxBean
.
IOValue
(
IO_Type
.
DoorLimit
).
Equals
(
IO_VALUE
.
LOW
))
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 前门未关"
;
}
if
(
BoxBean
.
IOValue
(
IO_Type
.
DoorLimit
).
Equals
(
IO_VALUE
.
LOW
))
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 无门禁信号,请检查"
;
}
if
(
BoxBean
.
humBean
.
TempOrHumidityIsAlarm
)
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 温湿度报警["
+
BoxBean
.
humBean
.
TempAlarmTime
.
ToLongTimeString
()
+
"]"
;
}
if
(
lblWarnMsg
.
Text
.
Equals
(
""
))
{
}
//ReadPosistion();
if
(
BoxBean
.
storeRunStatus
>
StoreRunStatus
.
Wait
)
...
...
@@ -209,40 +201,7 @@ namespace OnlineStore.ACPackingStore
}
}
}
lblWarnMsg
.
Text
=
BoxBean
.
WarnMsg
;
if
(
BoxBean
.
IOValue
(
IO_Type
.
DoorLimit
).
Equals
(
IO_VALUE
.
LOW
))
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 前门未关"
;
}
////如果不在出入库中,且叉子上有信号,需要提示检查叉子
//if (BoxBean.storeRunStatus.Equals(StoreRunStatus.Runing) && BoxBean.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH))
//{
// lblWarnMsg.Text = lblWarnMsg.Text + " 叉子料盘检测有料,请检查";
//}
if
(
BoxBean
.
IOValue
(
IO_Type
.
DoorLimit
).
Equals
(
IO_VALUE
.
LOW
))
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 无门禁信号,请检查"
;
}
if
(
BoxBean
.
humBean
.
TempOrHumidityIsAlarm
)
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 温湿度报警["
+
BoxBean
.
humBean
.
TempAlarmTime
.
ToLongTimeString
()
+
"]"
;
}
if
(
lblWarnMsg
.
Text
.
Equals
(
""
))
{
//List<string> list = new List<string>(LineConnect.WaitInStoreList);
//if (list.Count > 0)
//{
// string msg = "等待入库:";
// foreach (string s in list)
// {
// msg += s + "\t";
// }
// lblWarnMsg.Text = msg;
//}
}
if
(
BoxBean
.
AutoInout
.
autoNext
)
{
string
msg
=
BoxBean
.
AutoInout
.
autoMsg
;
...
...
@@ -275,7 +234,7 @@ namespace OnlineStore.ACPackingStore
else
{
lblThisSta
.
Text
=
"等待启动"
;
lblWarnMsg
.
Text
=
""
;
//
lblWarnMsg.Text = "";
btnStartAuTo
.
Text
=
"开始自动出入库"
;
}
}
...
...
@@ -622,19 +581,30 @@ namespace OnlineStore.ACPackingStore
private
void
btnStoreStart_Click
(
object
sender
,
EventArgs
e
)
{
BoxBean
.
StartRun
();
if
(
BoxBean
.
storeRunStatus
>=
StoreRunStatus
.
HomeMoving
)
bool
result
=
BoxBean
.
StartRun
();
if
(
result
)
{
StoreOpenStatus
(
true
);
}
else
{
MessageBox
.
Show
(
BoxBean
.
WarnMsg
);
}
}
private
void
停止
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
try
{
BoxBean
.
StopRun
();
StoreOpenStatus
(
false
);
if
(
BoxBean
.
storeRunStatus
>=
StoreRunStatus
.
HomeMoving
)
{
BoxBean
.
StopRun
();
StoreOpenStatus
(
false
);
}
else
{
MessageBox
.
Show
(
"请先启动料仓!"
);
}
}
catch
(
Exception
ex
)
{
...
...
@@ -648,6 +618,10 @@ namespace OnlineStore.ACPackingStore
{
this
.
BoxBean
.
Reset
();
btnSotreReset
.
Enabled
=
false
;
}
else
{
MessageBox
.
Show
(
"请先启动料仓!"
);
}
}
...
...
@@ -847,7 +821,7 @@ namespace OnlineStore.ACPackingStore
ioIP
=
BoxBean
.
Config
.
DIList
[
IO_Type
.
TrayCheck_Fixture
].
DeviceName
;
ioIndex
=
BoxBean
.
Config
.
DIList
[
IO_Type
.
TrayCheck_Fixture
].
GetIOAddr
();
}
FrmPositionTool
frm
=
new
FrmPositionTool
(
PortName
,
slvAddr
,
ioIP
,
ioIndex
,
Text
);
FrmPositionTool
frm
=
new
FrmPositionTool
(
PortName
,
slvAddr
,
ioIP
,
ioIndex
,
Text
,
BoxBean
.
DeviceID
);
frm
.
ShowDialog
();
}
...
...
source/ACPackingStore/FrmIOStatus.cs
查看文件 @
90fd615
...
...
@@ -24,7 +24,7 @@ namespace OnlineStore.ACPackingStore
{
private
int
StoreId
=
1
;
private
AC_BOX_Bean
boxBean
;
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
FrmIOStatus
()
{
Control
.
CheckForIllegalCrossThreadCalls
=
false
;
...
...
@@ -34,7 +34,7 @@ namespace OnlineStore.ACPackingStore
{
Control
.
CheckForIllegalCrossThreadCalls
=
false
;
InitializeComponent
();
this
.
boxBean
=
store
;
this
.
StoreId
=
store
.
DeviceID
;
LoadIOList
();
...
...
@@ -159,7 +159,7 @@ namespace OnlineStore.ACPackingStore
foreach
(
string
key
in
DIControlList
.
Keys
)
{
IOTextControl
control
=
DIControlList
[
key
];
int
iov
=
(
int
)
boxBean
.
IOValue
(
key
);
int
iov
=
(
int
)
boxBean
.
IOValue
(
key
);
if
(
iov
!=
control
.
IOValue
)
{
control
.
IOValue
=
iov
;
...
...
@@ -169,7 +169,7 @@ namespace OnlineStore.ACPackingStore
foreach
(
string
key
in
this
.
DOControlList
.
Keys
)
{
IOTextControl
control
=
DOControlList
[
key
];
int
iov
=
(
int
)
IOManager
.
DOValue
(
key
);
int
iov
=
(
int
)
boxBean
.
IOValue
(
key
);
if
(
iov
!=
control
.
IOValue
)
{
control
.
IOValue
=
iov
;
...
...
@@ -244,7 +244,7 @@ namespace OnlineStore.ACPackingStore
private
void
btnCloseAxisBreak_Click
(
object
sender
,
EventArgs
e
)
{
IOManager
.
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
boxBean
.
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
}
private
void
button1_Click
(
object
sender
,
EventArgs
e
)
...
...
source/ACPackingStore/positionTool/FrmPositionTool.cs
查看文件 @
90fd615
...
...
@@ -25,15 +25,17 @@ namespace OnlineStore.ACPackingStore
private
string
IoIp
=
""
;
private
int
IoIndex
=
0
;
public
string
Axis_Brake
=
IO_Type
.
Axis_Brake
;
private
int
subType
=
0
;
private
System
.
Timers
.
Timer
toolTimer
=
new
System
.
Timers
.
Timer
();
private
string
boxName
=
""
;
public
FrmPositionTool
(
string
protName
,
int
slvAddr
,
string
ioIp
,
int
ioIndex
,
string
text
)
public
FrmPositionTool
(
string
protName
,
int
slvAddr
,
string
ioIp
,
int
ioIndex
,
string
text
,
int
ioSubType
)
{
InitializeComponent
();
this
.
PortName
=
protName
;
this
.
SlvAddr
=
slvAddr
;
this
.
IoIp
=
ioIp
;
this
.
IoIndex
=
ioIndex
;
this
.
subType
=
ioSubType
;
boxName
=
text
.
Trim
().
Replace
(
"料仓"
,
""
);
this
.
Text
=
boxName
+
"_升降轴位置调试"
;
LogName
=
boxName
+
"_升降轴调试:"
;
...
...
@@ -122,7 +124,7 @@ namespace OnlineStore.ACPackingStore
try
{
IOManager
.
IOMove
(
Axis_Brake
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
Axis_Brake
,
IO_VALUE
.
HIGH
,
subType
);
}
catch
(
Exception
ex
)
{
...
...
@@ -138,7 +140,7 @@ namespace OnlineStore.ACPackingStore
Thread
.
Sleep
(
100
);
try
{
IOManager
.
IOMove
(
Axis_Brake
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
Axis_Brake
,
IO_VALUE
.
LOW
,
subType
);
}
catch
(
Exception
ex
)
{
...
...
source/ACPackingStore/记录.txt
查看文件 @
90fd615
...
...
@@ -8,3 +8,13 @@
//机器未启动 灭 灭 灭
//机器设备故障(非温湿度)报警 亮 灭 闪
新建分支RC1250-ACPackingStore,作为佳世达流水线单台包装料料仓软件
同一个客户端有两个box软件。
位置重定义:
旋转轴(轴1)P1 :待机原位点/NG料口位置
新增料架位置配置:
旋转轴位置P101:料架库位旋转轴位置
升降轴低点P101:料架库位升降轴低点
升降轴高点P102:料架库位升降轴高点
进出轴位置P101:料架库位进出轴位置
\ No newline at end of file
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
查看文件 @
90fd615
...
...
@@ -17,17 +17,12 @@ namespace OnlineStore.DeviceLibrary
public
partial
class
AC_BOX_Bean
:
KTK_Store
{
private
static
bool
IsIntSlvBlock
=
false
;
public
AutoInoutInfo
AutoInout
=
new
AutoInoutInfo
();
public
static
bool
IsRun
=
false
;
public
AutoInoutInfo
AutoInout
=
new
AutoInoutInfo
();
public
string
CID
=
""
;
public
AC_BOX_Config
Config
;
/// <summary>
/// 记录最后一次 出库的posID,出库完成发送给服务器之后清除
/// </summary>
public
AC_BOX_Config
Config
;
public
string
lastPosId
=
""
;
public
StoreStatus
lastPosIdStatus
=
StoreStatus
.
StoreOnline
;
public
List
<
ConfigMoveAxis
>
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
// private Dictionary<string, AxisAlarmInfo> AxisAlarmCodeMap = new Dictionary<string, AxisAlarmInfo>();
public
List
<
ConfigMoveAxis
>
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
public
List
<
string
>
PositionNumList
=
new
List
<
string
>();
public
List
<
string
>
ShelfPosList
=
new
List
<
string
>();
/// <summary>
...
...
@@ -121,14 +116,7 @@ namespace OnlineStore.DeviceLibrary
moveAxisList
.
Add
(
Config
.
Middle_Axis
);
moveAxisList
.
Add
(
Config
.
UpDown_Axis
);
moveAxisList
.
Add
(
Config
.
InOut_Axis
);
moveAxisList
.
Add
(
Config
.
Comp_Axis
);
//this.AxisAlarmCodeMap = new Dictionary<string, AxisAlarmInfo>();
//this.AxisAlarmCodeMap.Add(Config.UpDown_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.Comp_Axis.GetNameStr(), new AxisAlarmInfo());
moveAxisList
.
Add
(
Config
.
Comp_Axis
);
}
/// <summary>
...
...
@@ -138,6 +126,7 @@ namespace OnlineStore.DeviceLibrary
{
if
(!
StoreManager
.
Store
.
canStart
)
{
WarnMsg
=
"启动失败:设备未初始化完成"
;
LogUtil
.
error
(
Name
+
"启动失败:设备未初始化完成"
);
return
false
;
}
...
...
@@ -171,18 +160,20 @@ namespace OnlineStore.DeviceLibrary
mainTimer
.
Enabled
=
true
;
IoCheckTimer
.
Enabled
=
true
;
serverConnectTimer
.
Enabled
=
true
;
IsRun
=
true
;
return
true
;
}
else
{
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
LOW
))
{
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:急停没开 !启动失败!"
);
WarnMsg
=
"启动失败:急停没开"
;
LogUtil
.
error
(
" ("
+
Name
+
")启动失败:急停没开!"
);
}
else
{
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:没有气压信号 !启动失败!"
);
WarnMsg
=
"启动失败:没有气压信号"
;
LogUtil
.
error
(
" ("
+
Name
+
")启动失败:没有气压信号!"
);
}
return
false
;
}
...
...
@@ -191,14 +182,9 @@ namespace OnlineStore.DeviceLibrary
#
region
原点返回和复位处理
private
void
ReturnHome
()
{
isNoAirCheck
=
false
;
isInSuddenDown
=
false
;
WarnMsg
=
""
;
{
AutoInout
.
ClearCount
();
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
storeRunStatus
=
StoreRunStatus
.
HomeMoving
;
MoveInfo
.
NewMove
(
StoreMoveType
.
ReturnHome
);
...
...
@@ -208,7 +194,7 @@ namespace OnlineStore.DeviceLibrary
{
//压紧轴回原点,叉子回到P1,关闭门旋转轴和升降轴回到P1
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_
M_H
_TOP1_InOutToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_
H54
_TOP1_InOutToP1
);
LogInfo
(
"到待机状态,进出轴到P1,判断叉子没有料盘"
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
}
...
...
@@ -216,42 +202,44 @@ namespace OnlineStore.DeviceLibrary
public
override
void
Reset
(
bool
isNeedClearAuto
=
true
)
{
AutoInout
.
ClearCount
();
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
//复位之前先停止运行
if
(
isNeedClearAuto
)
{
AutoInout
.
StopAuto
();
}
//ACServerManager.SuddenStop(Config.Middle_Axis.DeviceName, Config.Middle_Axis.GetAxisValue());
//ACServerManager.SuddenStop(Config.UpDown_Axis.DeviceName, Config.UpDown_Axis.GetAxisValue());
//ACServerManager.SuddenStop(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue());
//ACServerManager.SuddenStop(Config.Comp_Axis.DeviceName, Config.Comp_Axis.GetAxisValue());
isInSuddenDown
=
false
;
isNoAirCheck
=
false
;
alarmType
=
StoreAlarmType
.
None
;
}
storeRunStatus
=
StoreRunStatus
.
Reset
;
storeStatus
=
StoreStatus
.
ResetMove
;
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
WarnMsg
=
""
;
if
(!
RunAxis
(
true
))
{
if
(!
RunAxis
(
true
))
{
LogInfo
(
"复位时打开轴失败,需要再次复位,直接报警停止复位"
);
return
;
}
InoutStartReset
();
}
InoutStartReset
();
isInPro
=
false
;
}
private
void
InoutStartReset
()
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
LogInfo
(
MoveInfo
.
MoveType
+
": ,进出轴开始原点返回"
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
{
//清理报警
WarnMsg
=
""
;
isInSuddenDown
=
false
;
isNoAirCheck
=
false
;
alarmType
=
StoreAlarmType
.
None
;
//重置灯
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
//开始复位动作
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H01_DoorClose
);
LogInfo
(
MoveInfo
.
MoveType
+
": 线体停止,入口移门关闭,NG升降门下降"
);
IOMove
(
IO_Type
.
Line_BackRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
LOW
);
CylinderMove
(
MoveInfo
,
IO_Type
.
NGDoowCylinder_Up
,
IO_Type
.
NGDoorCylinder_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
EntranceDoor_Open
,
IO_Type
.
EntranceDoor_Close
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
}
/// <summary>
/// 复位处理
...
...
@@ -268,18 +256,16 @@ namespace OnlineStore.DeviceLibrary
}
switch
(
MoveInfo
.
MoveStep
)
{
case
StoreMoveStep
.
BOX_H_LocationCylinderBack
:
InoutStartReset
();
break
;
case
StoreMoveStep
.
BOX_H_InOutMove
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutBack
);
case
StoreMoveStep
.
BOX_H01_DoorClose
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H03_InOutBack
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
LogInfo
(
MoveInfo
.
MoveType
+
": 进出轴开始原点返回"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
break
;
case
StoreMoveStep
.
BOX_H_InOutBack
:
case
StoreMoveStep
.
BOX_H
03
_InOutBack
:
Thread
.
Sleep
(
200
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_InOutToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H
04
_InOutToP1
);
LogInfo
(
MoveInfo
.
MoveType
+
": 进出轴到待机点P1,关闭舱门"
);
//进出轴原点返回完成,将进出轴的位置设置=0
AxisCountClear
(
Config
.
InOut_Axis
);
...
...
@@ -287,7 +273,7 @@ namespace OnlineStore.DeviceLibrary
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
break
;
case
StoreMoveStep
.
BOX_H_InOutToP1
:
case
StoreMoveStep
.
BOX_H
04
_InOutToP1
:
//如果此时轴三还在报警,需要提示错误并等待
if
(
ACServerManager
.
GetAlarmStatus
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
())
>
0
)
{
...
...
@@ -295,21 +281,21 @@ namespace OnlineStore.DeviceLibrary
}
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogInfo
(
MoveInfo
.
MoveType
+
": 压紧轴,旋转轴,上下轴开始 原点返回"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H
05
_OtherAxisBack
);
ACAxisHomeMove
(
Config
.
Comp_Axis
);
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack
:
case
StoreMoveStep
.
BOX_H
05
_OtherAxisBack
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H
06
_MiddleAxisToP1
);
LogInfo
(
MoveInfo
.
MoveType
+
": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
Comp_Axis
,
Config
.
CompAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
case
StoreMoveStep
.
BOX_H
06
_MiddleAxisToP1
:
LogInfo
(
MoveInfo
.
MoveType
+
": 完成"
);
storeRunStatus
=
StoreRunStatus
.
Runing
;
MoveInfo
.
EndMove
();
...
...
@@ -320,19 +306,19 @@ namespace OnlineStore.DeviceLibrary
}
break
;
case
StoreMoveStep
.
BOX_
M_H
_TOP1_InOutToP1
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_
M_H
_TOP1_CompressHome
);
case
StoreMoveStep
.
BOX_
H54
_TOP1_InOutToP1
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_
H55
_TOP1_CompressHome
);
LogInfo
(
"到待机状态,压紧轴回原点,关闭舱门"
);
ACAxisHomeMove
(
Config
.
Comp_Axis
);
break
;
case
StoreMoveStep
.
BOX_
M_H
_TOP1_CompressHome
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_
M_H
_TOP1_OtherAxisToP1
);
case
StoreMoveStep
.
BOX_
H55
_TOP1_CompressHome
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_
H56
_TOP1_OtherAxisToP1
);
LogInfo
(
MoveInfo
.
MoveType
+
": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
Comp_Axis
,
Config
.
CompAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
case
StoreMoveStep
.
BOX_
M_H
_TOP1_OtherAxisToP1
:
case
StoreMoveStep
.
BOX_
H56
_TOP1_OtherAxisToP1
:
LogInfo
(
"到待机状态完成"
);
MoveInfo
.
EndMove
();
storeStatus
=
StoreStatus
.
StoreOnline
;
...
...
@@ -457,7 +443,7 @@ namespace OnlineStore.DeviceLibrary
storeRunStatus
=
StoreRunStatus
.
Wait
;
mainTimer
.
Enabled
=
false
;
TimeSpan
span
=
DateTime
.
Now
-
StartTime
;
IsRun
=
false
;
//LineConnect.StopConnect();
// IOManager.instance.CloseAllDO();
...
...
@@ -720,8 +706,7 @@ namespace OnlineStore.DeviceLibrary
private
void
AutoResetProcess
()
{
try
{
// bool noInStore = LineConnect.WaitInStoreList.Count <= 0;
{
bool
noInStore
=
true
;
if
(
AutoInout
.
CurrInOutACount
>=
this
.
Config
.
Box_ResetACount
&&
noInStore
)
{
...
...
@@ -734,20 +719,8 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
"已经累计出入库"
+
AutoInout
.
CurrInOutACount
+
"次,需要复位一下"
);
Reset
();
}
}
//else if (AutoInout.CurrInOutCount >= this.Config.Box_ResetMCount && noInStore)
//{
// if (storeRunStatus < StoreRunStatus.Runing || MoveInfo.MoveType == StoreMoveType.InStore || MoveInfo.MoveType == StoreMoveType.OutStore)
// {
// LogInfo( "已经累计出入库" + AutoInout.CurrInOutCount + "次,当时当前正在忙碌中暂不复位旋转轴");
// }
// else
// {
// LogInfo( "已经累计出入库" + AutoInout.CurrInOutCount + "次,需要复位一下旋转轴");
// }
//}
//else if (LineConnect.CanStartOut() || IsDebug)
else
}
else
if
(
CanStarInOut
())
{
InOutParam
param
=
null
;
lock
(
waitOutListLock
)
...
...
@@ -893,11 +866,7 @@ namespace OnlineStore.DeviceLibrary
{
lineOperation
.
status
=
(
int
)
StoreStatus
.
Warning
;
lineOperation
.
msg
=
WarnMsg
;
}
else
if
(
IsRun
)
{
lineOperation
.
status
=
(
int
)
StoreStatus
.
StoreOnline
;
}
}
lineOperation
.
status
=
(
int
)
StoreStatus
.
StoreOnline
;
BoxStatus
boxStatus
=
new
BoxStatus
();
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
查看文件 @
90fd615
...
...
@@ -128,6 +128,6 @@ PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
,,,,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,
Name1#Name1
,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,,,,,,,,
PRO,RFID读卡器IP,RFID_IP,192.168.106.101,,,,,,,
PRO,是否是调试状态,IsInDebug,1,,,,,,,
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
查看文件 @
90fd615
...
...
@@ -126,7 +126,7 @@ PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
,,,,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,
Name1#Name1
,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,,,,,,
PRO,RFID读卡器IP,RFID_IP,192.168.106.102,,,,,,,
PRO,是否是调试状态,IsInDebug,1,,,,,,,
source/DeviceLibrary/device/IO/AIOBOX/AIOBOXManager.cs
查看文件 @
90fd615
...
...
@@ -121,7 +121,6 @@ namespace OnlineStore.DeviceLibrary
//DI主动上传
aioBox
.
AutoReadInput
(
true
);
aioBox
.
AutoReadOutput
(
true
,
DOMS
);
aioBox
.
LogOut
=
true
;
aioBox
.
DI_Changed_Event
+=
AioBox_DI_Changed_Event
;
;
aioBox
.
DO_Changed_Event
+=
AioBox_DO_Changed_Event
;
...
...
source/DeviceLibrary/device/halcon/CodeManager.cs
查看文件 @
90fd615
...
...
@@ -94,15 +94,21 @@ namespace OnlineStore.DeviceLibrary
}
public
static
void
CloseCamera
(
string
name
)
{
//BaslerCamera.Instance.Close();
//HIKCamera.Instance.Close();
if
(
HIKCManager
.
CameraName
.
Contains
(
name
))
try
{
HIKCManager
.
Close
(
name
);
}
else
//BaslerCamera.Instance.Close();
//HIKCamera.Instance.Close();
if
(
HIKCManager
.
CameraName
.
Contains
(
name
))
{
HIKCManager
.
Close
(
name
);
}
else
{
BaslerCManager
.
Close
(
name
);
}
}
catch
(
Exception
ex
)
{
BaslerCManager
.
Close
(
name
);
LogUtil
.
error
(
"CloseCamera["
+
name
+
"]出错:"
+
ex
.
ToString
()
);
}
}
public
static
void
CloseAllCamera
()
...
...
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
90fd615
...
...
@@ -117,61 +117,41 @@ namespace OnlineStore.DeviceLibrary
Wait
=
0
,
#
region
料仓原点返回和重置步骤
010
开始
/// <summary>
///
料仓原点返回和重置步骤,,定位气缸下降
///
BOX复位:线体停止,入料移门关闭,NG料口关闭
/// </summary>
BOX_H
_LocationCylinderBack
=
010
,
BOX_H
01_DoorClose
=
010
,
/// <summary>
/// 料仓原点返回和重置步骤,轴三先相对走3000
/// </summary>
BOX_H_InOutMove
=
011
,
/// <summary>
/// 料仓原点返回和重置步骤,,轴三进出轴先返回原点
/// </summary>
BOX_H_InOutBack
=
012
,
/// <summary>
/// 料仓原点返回和重置步骤,,轴三返回P1点
/// </summary>
BOX_H_InOutToP1
=
013
,
/// <summary>
/// 料仓原点返回和重置步骤,,升降轴,旋转轴,压紧轴原点返回
/// BOX复位:轴三进出轴先返回原点
/// </summary>
BOX_H_OtherAxisBack
=
014
,
///// <summary>
///// 清理轴位置
///// </summary>
//BOX_H_WaitAxisCountClear = 015,
/// <summary>
/// 旋转轴返回P1
/// </summary>
BOX_H_MiddleAxisToP1
=
016
,
BOX_H03_InOutBack
=
012
,
/// <summary>
///
叉子先退回P1
///
BOX复位:轴三返回P1点
/// </summary>
BOX_
M_H_InOutToP1
=
018
,
BOX_
H04_InOutToP1
=
013
,
/// <summary>
///
旋转轴回原点
///
BOX复位:升降轴,旋转轴,压紧轴原点返回
/// </summary>
BOX_
M_H_MiddleAxisHome
=
019
,
BOX_
H05_OtherAxisBack
=
014
,
/// <summary>
///
旋转轴等待清理位置
///
BOX复位: 旋转轴返回P1
/// </summary>
BOX_
M_H_MiddleWait
=
020
,
BOX_
H06_MiddleAxisToP1
=
016
,
/// <summary>
/// 叉子走到P1
///
BOX回待机点:
叉子走到P1
/// </summary>
BOX_
M_H_TOP1_InOutToP1
=
030
,
BOX_
H54_TOP1_InOutToP1
=
54
,
/// <summary>
/// 压紧轴回原点
///
BOX回待机点:
压紧轴回原点
/// </summary>
BOX_
M_H_TOP1_CompressHome
=
031
,
BOX_
H55_TOP1_CompressHome
=
55
,
/// <summary>
/// 关闭门,旋转轴到P1,升降轴到P1
///
BOX回待机点:
关闭门,旋转轴到P1,升降轴到P1
/// </summary>
BOX_
M_H_TOP1_OtherAxisToP1
=
032
,
BOX_
H56_TOP1_OtherAxisToP1
=
56
,
#
endregion
...
...
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
查看文件 @
90fd615
...
...
@@ -24,7 +24,7 @@ namespace OnlineStore.LoadCSVLibrary
}
}
return
TypeList
;
}
}
/// <summary>
...
...
@@ -34,60 +34,18 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// DI 复位 Reset_BTN 1 X02 DI-02
/// </summary>
public
static
string
Reset_BTN
=
"Reset_BTN"
;
public
static
string
Reset_BTN
=
"Reset_BTN"
;
/// <summary>
/// DI 气压检测 Airpressure_Check 2 X03 DI-03
/// </summary>
public
static
string
Airpressure_Check
=
"Airpressure_Check"
;
///// <summary>
///// DI 料仓门口料盘检测 TrayCheck_1
///// </summary>
//public static string TrayCheck_Door = "TrayCheck_Door";
///// <summary>
///// DI 叉子料盘检测 TrayCheck_Fixture
///// </summary>
//public static string TrayCheck_Fixture = "TrayCheck_Fixture";
///// <summary>
///// 料仓IO。定位气缸上升端(料仓) LocationCylinder_Up
///// </summary>
//public static string LocationCylinder_Up = "LocationCylinder_Up";
///// <summary>
/////料仓IO。 定位气缸下降端(料仓) LocationCylinder_Down
///// </summary>
//public static string LocationCylinder_Down = "LocationCylinder_Down";
///// <summary>
///// 料仓IO。定位气缸上升端(料仓) LocationCylinder2_Up
///// </summary>
//public static string LocationCylinder2_Up = "LocationCylinder2_Up";
///// <summary>
/////料仓IO。 定位气缸下降端(料仓) LocationCylinder2_Down
///// </summary>
//public static string LocationCylinder2_Down = "LocationCylinder2_Down";
///// <summary>
///// 料仓DO 。料仓运转ON Run_Signal
///// </summary>
//public static string Run_Signal = "Run_Signal";
///// <summary>
///// 料仓DO 。料仓轴2刹车ON Axis_Brake
///// </summary>
//public static string Axis_Brake = "Axis_Brake";
///// <summary>
///// 料仓DO 。料仓吹气SOL ON StartOrStopBlow
///// </summary>
//public static string StartOrStopBlow = "StartOrStopBlow";
/// <summary>
/// DI L侧门禁 DoorLimit 3 X04 DI-04
/// </summary>
/// <summary>
/// DI L侧门禁 DoorLimit 3 X04 DI-04
/// </summary>
public
static
string
DoorLimit
=
"DoorLimit"
;
/// <summary>
/// DI L侧料盘检测1(识别区) TrayCheck_1 0 X21 DI-21
...
...
@@ -141,7 +99,7 @@ namespace OnlineStore.LoadCSVLibrary
/// DI L侧顶升装置上升端 TopCylinder_Up 12 X33 DI-33
/// </summary>
public
static
string
TopCylinder_Up
=
"TopCylinder_Up"
;
/// <summary>
/// DI L侧顶升装置下降端 TopCylinder_Down 13 X34 DI-34
...
...
@@ -155,11 +113,11 @@ namespace OnlineStore.LoadCSVLibrary
/// DI L侧定位装置下降端 LocationCylinder_Down 15 X36 DI-36
/// </summary>
public
static
string
LocationCylinder_Down
=
"LocationCylinder_Down"
;
/// <summary>
/// DO 自动指示灯 AutoRun_HddLed 0 Y01 DO-01
/// </summary>
public
static
string
AutoRun_HddLed
=
"AutoRun_HddLed"
;
public
static
string
AutoRun_HddLed
=
"AutoRun_HddLed"
;
/// <summary>
/// DO 故障指示灯 Alarm_HddLed 1 Y02 DO-02
/// </summary>
...
...
@@ -177,11 +135,11 @@ namespace OnlineStore.LoadCSVLibrary
///DO NG料线体电机运转 NGLine_Run 4 Y05 DO-05
/// </summary>
public
static
string
NGLine_Run
=
"NGLine_Run"
;
/// <summary>
/// DO L侧料仓运转ON Run_Signal 0 Y21 DO-21
/// </summary>
/// <summary>
/// DO L侧料仓运转ON Run_Signal 0 Y21 DO-21
/// </summary>
public
static
string
Run_Signal
=
"Run_Signal"
;
/// <summary>
/// DO L侧轴2刹车电源ON Axis_Brake 1 Y22 DO-22
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论