Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
MIMO
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ba47a86f
由
张东亮
编写于
2023-03-13 17:06:51 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
添加监控相机服务
1 个父辈
bc8ee93d
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
188 行增加
和
20 行删除
Common/Setting_Init.cs
DeviceLibrary/DeviceLibrary.csproj
DeviceLibrary/DeviceLibrary/IPCameraHelper.cs
DeviceLibrary/theMachine/BoxTransport.cs
DeviceLibrary/theMachine/MainMachine.cs
TheMachine/SettingControl.Designer.cs
TheMachine/SettingControl.cs
Common/Setting_Init.cs
查看文件 @
ba47a86
...
...
@@ -89,7 +89,7 @@ namespace OnlineStore.Common
[
MyConfigComment
(
"摄像机名称列表#号分割"
)]
public
static
MyConfig
<
string
>
CameraScan_CameraName
=
"CameraName"
;
[
MyConfigComment
(
"扫码类型清单#号分割"
)]
public
static
MyConfig
<
string
>
CameraScan_CodeType
=
"QR Code#Data Matrix ECC 200"
;
public
static
MyConfig
<
string
>
CameraScan_CodeType
=
"QR Code#Data Matrix ECC 200
#eyem
"
;
[
MyConfigComment
(
"扫码学习文件保存目录"
)]
public
static
MyConfig
<
string
>
CameraScan_CodeParamPath
=
"CodeParam"
;
[
MyConfigComment
(
"二维码扫码最大数量"
)]
...
...
DeviceLibrary/DeviceLibrary.csproj
查看文件 @
ba47a86
...
...
@@ -59,8 +59,10 @@
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
...
...
@@ -79,6 +81,7 @@
<Compile Include="DeviceLibrary\Camera.cs" />
<Compile Include="DeviceLibrary\CylinderManger.cs" />
<Compile Include="DeviceLibrary\IOMonitor.cs" />
<Compile Include="DeviceLibrary\IPCameraHelper.cs" />
<Compile Include="DeviceLibrary\I_SafetyDevice.cs" />
<Compile Include="DeviceLibrary\LiftMonitor.cs" />
<Compile Include="DeviceLibrary\LineRunMonitor.cs" />
...
...
DeviceLibrary/DeviceLibrary/IPCameraHelper.cs
0 → 100644
查看文件 @
ba47a86
using
OnlineStore.Common
;
using
System
;
using
System.Collections
;
using
System.Collections.Generic
;
using
System.Configuration.Install
;
using
System.Linq
;
using
System.ServiceProcess
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
DeviceLibrary
{
public
class
IPCameraHelper
{
//"E:\\Codes\\CSharp-Workspace\\MyProject\\WindowsService\\IPCamService\\bin\\Debug\\IPCamService.exe"
static
string
appPath
=
AppDomain
.
CurrentDomain
.
BaseDirectory
;
static
string
serviceFilePath
=
ConfigHelper
.
Config
.
Get
(
"IPCamService_FilePath"
,
$
"{appPath}IPCamService\\IPCamService.exe"
);
static
string
serviceName
=
ConfigHelper
.
Config
.
Get
(
"IPCamService_ServiceName"
,
"IPCamService"
);
/// <summary>
/// 安装服务
/// </summary>
public
static
void
InstallService
()
{
if
(!
IsServiceExisted
(
serviceName
))
{
InstallService
(
serviceFilePath
);
LogUtil
.
info
(
"安装监控相机服务"
);
ServiceStart
(
serviceName
);
LogUtil
.
info
(
"启动监控相机服务"
);
}
else
{
ServiceStart
(
serviceName
);
LogUtil
.
info
(
"启动监控相机服务"
);
}
}
static
string
baseDir
=
ConfigHelper
.
Config
.
Get
(
"IPCameraService_HttpServer"
,
"http://localhost:8088"
);
public
static
void
StartRecord
(
string
fileName
=
""
)
{
string
url
=
$
"{baseDir}/cam/startRecord?camName=cam1&filename={fileName}"
;
string
res
=
HttpHelper
.
Get
(
url
);
LogUtil
.
info
(
$
"开始记录视频:{fileName},{res}"
);
}
public
static
void
StopRecord
()
{
string
url
=
$
"{baseDir}/cam/stopRecord?camName=cam1"
;
string
res
=
HttpHelper
.
Get
(
url
);
LogUtil
.
info
(
$
"停止记录视频:{res}"
);
}
//判断服务是否存在
static
bool
IsServiceExisted
(
string
serviceName
)
{
ServiceController
[]
services
=
ServiceController
.
GetServices
();
foreach
(
ServiceController
sc
in
services
)
{
if
(
sc
.
ServiceName
.
ToLower
()
==
serviceName
.
ToLower
())
{
return
true
;
}
}
return
false
;
}
//安装服务
static
void
InstallService
(
string
serviceFilePath
)
{
try
{
using
(
AssemblyInstaller
installer
=
new
AssemblyInstaller
())
{
installer
.
UseNewContext
=
true
;
installer
.
Path
=
serviceFilePath
;
IDictionary
savedState
=
new
Hashtable
();
installer
.
Install
(
savedState
);
installer
.
Commit
(
savedState
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"安装监控相机服务失败"
,
ex
);
}
}
//卸载服务
static
void
UninstallService
(
string
serviceFilePath
)
{
using
(
AssemblyInstaller
installer
=
new
AssemblyInstaller
())
{
installer
.
UseNewContext
=
true
;
installer
.
Path
=
serviceFilePath
;
installer
.
Uninstall
(
null
);
}
}
//启动服务
static
void
ServiceStart
(
string
serviceName
)
{
try
{
using
(
ServiceController
control
=
new
ServiceController
(
serviceName
))
{
if
(
control
.
Status
==
ServiceControllerStatus
.
Stopped
)
{
control
.
Start
();
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
$
"启动监控相机服务失败"
,
ex
);
}
}
//停止服务
static
void
ServiceStop
(
string
serviceName
)
{
using
(
ServiceController
control
=
new
ServiceController
(
serviceName
))
{
if
(
control
.
Status
==
ServiceControllerStatus
.
Running
)
{
control
.
Stop
();
}
}
}
}
}
DeviceLibrary/theMachine/BoxTransport.cs
查看文件 @
ba47a86
...
...
@@ -81,6 +81,7 @@ namespace DeviceLibrary
}
else
{
IPCameraHelper
.
StartRecord
(
$
"{WareCode}-{to.posid}"
);
WareCode
=
from
.
Reel
.
WareCode
;
plateH
=
from
.
Reel
.
PlateH
;
From
=
from
.
clone
();
...
...
@@ -96,7 +97,7 @@ namespace DeviceLibrary
Fix
=
BoxStorePosition
.
GetFixPos
(
Config
,
To
.
Reel
);
}
MoveInfo
.
MoveParam
.
WareCode
=
WareCode
;
IPCameraHelper
.
StartRecord
(
$
"{WareCode}-{From?.posid}-{To?.posid}"
);
ErrMsgTxt
=
""
;
return
true
;
//thread = new Thread(new ThreadStart(Run));
...
...
@@ -370,6 +371,7 @@ namespace DeviceLibrary
ErrMsgTxt
=
""
;
To
.
posid
=
""
;
storeMoveType
=
StoreMoveType
.
None
;
IPCameraHelper
.
StopRecord
();
break
;
case
MoveStep
.
StoreTS_WaitOutProcess
:
break
;
...
...
DeviceLibrary/theMachine/MainMachine.cs
查看文件 @
ba47a86
...
...
@@ -116,6 +116,7 @@ namespace DeviceLibrary
IOMonitor
.
RegisterIO
(
IO_Type
.
Reset_BTN
,
Config
,
IO_VALUE
.
HIGH
,
Reset_BTN
,
2500
,
100
);
IOMonitor
.
RegisterIO
(
IO_Type
.
AutoRun_Single
,
Config
,
IO_VALUE
.
HIGH
,
Run_BTN
,
2500
,
100
);
LedProcessInit
();
IPCameraHelper
.
InstallService
();
}
...
...
@@ -248,6 +249,7 @@ namespace DeviceLibrary
ServerCM
.
storeStatus
=
currnetstoreStatus
;
}
}
IPCameraHelper
.
StopRecord
();
LogUtil
.
info
(
"主线程已退出."
);
}
public
void
Start
()
...
...
TheMachine/SettingControl.Designer.cs
查看文件 @
ba47a86
...
...
@@ -41,10 +41,12 @@ namespace TheMachine
this
.
uC_LedConfig1
=
new
TheMachine
.
UC
.
UC_LedConfig
();
this
.
tabControl1
=
new
System
.
Windows
.
Forms
.
TabControl
();
this
.
tabPage_set
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
uC_SetUserPassword1
=
new
TheMachine
.
UC_SetUserPassword
();
this
.
tabPage_ledtower
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabPage1
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
fixtureSizeConfigControl1
=
new
DeviceLibrary
.
FixtureSizeConfigControl
();
this
.
uC_SetUserPassword1
=
new
TheMachine
.
UC_SetUserPassword
();
this
.
button1
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
button2
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
tp
.
SuspendLayout
();
this
.
tabControl1
.
SuspendLayout
();
this
.
tabPage_set
.
SuspendLayout
();
...
...
@@ -56,10 +58,10 @@ namespace TheMachine
//
this
.
chbAutoRun
.
AutoSize
=
true
;
this
.
tp
.
SetColumnSpan
(
this
.
chbAutoRun
,
2
);
this
.
chbAutoRun
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
16
6
);
this
.
chbAutoRun
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
16
9
);
this
.
chbAutoRun
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
10
);
this
.
chbAutoRun
.
Name
=
"chbAutoRun"
;
this
.
chbAutoRun
.
Size
=
new
System
.
Drawing
.
Size
(
84
,
16
);
this
.
chbAutoRun
.
Size
=
new
System
.
Drawing
.
Size
(
94
,
17
);
this
.
chbAutoRun
.
TabIndex
=
1
;
this
.
chbAutoRun
.
Text
=
"开机自启动"
;
this
.
chbAutoRun
.
UseVisualStyleBackColor
=
true
;
...
...
@@ -68,7 +70,7 @@ namespace TheMachine
//
this
.
cb_tempsensorport
.
DropDownStyle
=
System
.
Windows
.
Forms
.
ComboBoxStyle
.
DropDownList
;
this
.
cb_tempsensorport
.
FormattingEnabled
=
true
;
this
.
cb_tempsensorport
.
Location
=
new
System
.
Drawing
.
Point
(
1
39
,
6
);
this
.
cb_tempsensorport
.
Location
=
new
System
.
Drawing
.
Point
(
1
44
,
6
);
this
.
cb_tempsensorport
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
6
);
this
.
cb_tempsensorport
.
Name
=
"cb_tempsensorport"
;
this
.
cb_tempsensorport
.
Size
=
new
System
.
Drawing
.
Size
(
121
,
20
);
...
...
@@ -82,7 +84,7 @@ namespace TheMachine
this
.
label_tempsensor
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
10
);
this
.
label_tempsensor
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
10
);
this
.
label_tempsensor
.
Name
=
"label_tempsensor"
;
this
.
label_tempsensor
.
Size
=
new
System
.
Drawing
.
Size
(
1
07
,
12
);
this
.
label_tempsensor
.
Size
=
new
System
.
Drawing
.
Size
(
1
18
,
13
);
this
.
label_tempsensor
.
TabIndex
=
3
;
this
.
label_tempsensor
.
Text
=
"温湿度控制器端口:"
;
this
.
label_tempsensor
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
TopRight
;
...
...
@@ -90,7 +92,7 @@ namespace TheMachine
// button_positiontool
//
this
.
tp
.
SetColumnSpan
(
this
.
button_positiontool
,
2
);
this
.
button_positiontool
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
7
4
);
this
.
button_positiontool
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
7
6
);
this
.
button_positiontool
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
10
);
this
.
button_positiontool
.
Name
=
"button_positiontool"
;
this
.
button_positiontool
.
Size
=
new
System
.
Drawing
.
Size
(
181
,
36
);
...
...
@@ -103,10 +105,10 @@ namespace TheMachine
//
this
.
lbl_hmdstate
.
AutoSize
=
true
;
this
.
tp
.
SetColumnSpan
(
this
.
lbl_hmdstate
,
2
);
this
.
lbl_hmdstate
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
4
2
);
this
.
lbl_hmdstate
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
4
3
);
this
.
lbl_hmdstate
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
10
);
this
.
lbl_hmdstate
.
Name
=
"lbl_hmdstate"
;
this
.
lbl_hmdstate
.
Size
=
new
System
.
Drawing
.
Size
(
5
3
,
12
);
this
.
lbl_hmdstate
.
Size
=
new
System
.
Drawing
.
Size
(
5
9
,
13
);
this
.
lbl_hmdstate
.
TabIndex
=
5
;
this
.
lbl_hmdstate
.
Tag
=
"not"
;
this
.
lbl_hmdstate
.
Text
=
"当前状态"
;
...
...
@@ -141,17 +143,17 @@ namespace TheMachine
this
.
tp
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
());
this
.
tp
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
());
this
.
tp
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
());
this
.
tp
.
Size
=
new
System
.
Drawing
.
Size
(
2
66
,
192
);
this
.
tp
.
Size
=
new
System
.
Drawing
.
Size
(
2
76
,
196
);
this
.
tp
.
TabIndex
=
6
;
//
// cb_usefixpos
//
this
.
cb_usefixpos
.
AutoSize
=
true
;
this
.
tp
.
SetColumnSpan
(
this
.
cb_usefixpos
,
2
);
this
.
cb_usefixpos
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
13
0
);
this
.
cb_usefixpos
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
13
2
);
this
.
cb_usefixpos
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
10
);
this
.
cb_usefixpos
.
Name
=
"cb_usefixpos"
;
this
.
cb_usefixpos
.
Size
=
new
System
.
Drawing
.
Size
(
96
,
16
);
this
.
cb_usefixpos
.
Size
=
new
System
.
Drawing
.
Size
(
107
,
17
);
this
.
cb_usefixpos
.
TabIndex
=
6
;
this
.
cb_usefixpos
.
Text
=
"启用校准库位"
;
this
.
cb_usefixpos
.
UseVisualStyleBackColor
=
true
;
...
...
@@ -180,6 +182,8 @@ namespace TheMachine
//
// tabPage_set
//
this
.
tabPage_set
.
Controls
.
Add
(
this
.
button2
);
this
.
tabPage_set
.
Controls
.
Add
(
this
.
button1
);
this
.
tabPage_set
.
Controls
.
Add
(
this
.
uC_SetUserPassword1
);
this
.
tabPage_set
.
Controls
.
Add
(
this
.
tp
);
this
.
tabPage_set
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
22
);
...
...
@@ -190,6 +194,15 @@ namespace TheMachine
this
.
tabPage_set
.
Text
=
"常规设置"
;
this
.
tabPage_set
.
UseVisualStyleBackColor
=
true
;
//
// uC_SetUserPassword1
//
this
.
uC_SetUserPassword1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
uC_SetUserPassword1
.
Location
=
new
System
.
Drawing
.
Point
(
335
,
8
);
this
.
uC_SetUserPassword1
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
5
);
this
.
uC_SetUserPassword1
.
Name
=
"uC_SetUserPassword1"
;
this
.
uC_SetUserPassword1
.
Size
=
new
System
.
Drawing
.
Size
(
533
,
596
);
this
.
uC_SetUserPassword1
.
TabIndex
=
7
;
//
// tabPage_ledtower
//
this
.
tabPage_ledtower
.
Controls
.
Add
(
this
.
uC_LedConfig1
);
...
...
@@ -220,14 +233,25 @@ namespace TheMachine
this
.
fixtureSizeConfigControl1
.
Size
=
new
System
.
Drawing
.
Size
(
1010
,
708
);
this
.
fixtureSizeConfigControl1
.
TabIndex
=
0
;
//
//
uC_SetUserPassword
1
//
button
1
//
this
.
uC_SetUserPassword1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
uC_SetUserPassword1
.
Location
=
new
System
.
Drawing
.
Point
(
335
,
8
);
this
.
uC_SetUserPassword1
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
5
);
this
.
uC_SetUserPassword1
.
Name
=
"uC_SetUserPassword1"
;
this
.
uC_SetUserPassword1
.
Size
=
new
System
.
Drawing
.
Size
(
533
,
596
);
this
.
uC_SetUserPassword1
.
TabIndex
=
7
;
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
53
,
270
);
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
156
,
59
);
this
.
button1
.
TabIndex
=
8
;
this
.
button1
.
Text
=
"开始记录监控"
;
this
.
button1
.
UseVisualStyleBackColor
=
true
;
this
.
button1
.
Click
+=
new
System
.
EventHandler
(
this
.
button1_Click_2
);
//
// button2
//
this
.
button2
.
Location
=
new
System
.
Drawing
.
Point
(
53
,
365
);
this
.
button2
.
Name
=
"button2"
;
this
.
button2
.
Size
=
new
System
.
Drawing
.
Size
(
156
,
59
);
this
.
button2
.
TabIndex
=
9
;
this
.
button2
.
Text
=
"停止记录监控"
;
this
.
button2
.
UseVisualStyleBackColor
=
true
;
this
.
button2
.
Click
+=
new
System
.
EventHandler
(
this
.
button2_Click
);
//
// SettingControl
//
...
...
@@ -263,5 +287,7 @@ namespace TheMachine
private
System
.
Windows
.
Forms
.
TabPage
tabPage1
;
private
DeviceLibrary
.
FixtureSizeConfigControl
fixtureSizeConfigControl1
;
private
UC_SetUserPassword
uC_SetUserPassword1
;
private
System
.
Windows
.
Forms
.
Button
button2
;
private
System
.
Windows
.
Forms
.
Button
button1
;
}
}
TheMachine/SettingControl.cs
查看文件 @
ba47a86
...
...
@@ -124,5 +124,15 @@ namespace TheMachine
{
}
private
void
button1_Click_2
(
object
sender
,
EventArgs
e
)
{
DeviceLibrary
.
IPCameraHelper
.
StartRecord
(
"manual"
);
}
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
{
DeviceLibrary
.
IPCameraHelper
.
StopRecord
();
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论