Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ad32f0da
由
LN
编写于
2019-10-23 09:49:53 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
0fbc88eb
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
88 行增加
和
13 行删除
ABBRobotTest/ABBRobotManager.cs
ABBRobotTest/FrmRobotMain.Designer.cs
ABBRobotTest/FrmRobotMain.cs
ABBRobotTest/ABBRobotManager.cs
查看文件 @
ad32f0d
...
...
@@ -14,6 +14,11 @@ namespace ABBRobotTest
internal
class
ABBRobotManager
{
internal
static
string
DI_Start
=
"di_start"
;
internal
static
string
DI_Stop
=
"di_stop"
;
internal
static
string
DO_ES
=
"do_ES"
;
internal
static
string
DO_IsRun
=
"do_IsRun"
;
private
static
NetworkScanner
scanner
=
null
;
// private Controller controller = null;
private
static
Task
[]
tasks
=
null
;
...
...
@@ -24,6 +29,8 @@ namespace ABBRobotTest
internal
delegate
void
ControllerAddDelegate
(
ControllerInfo
controller
);
internal
static
event
ControllerAddDelegate
ControllerAddEvent
;
internal
static
void
LoadController
()
{
controllerMap
=
new
Dictionary
<
string
,
Controller
>();
...
...
@@ -45,12 +52,31 @@ namespace ABBRobotTest
}
private
static
void
AddControllerInfo
(
ControllerInfo
controllerInfo
)
{
Controller
con
=
ControllerFactory
.
CreateFrom
(
controllerInfo
);
con
.
Logon
(
UserInfo
.
DefaultUser
);
ControllerState
state
=
con
.
State
;
controllerMap
.
Add
(
con
.
IPAddress
.
ToString
(),
con
);
// controller = con;
controllerInfoMap
.
Add
(
controllerInfo
.
IPAddress
.
ToString
(),
controllerInfo
);
try
{
Controller
con
=
ControllerFactory
.
CreateFrom
(
controllerInfo
);
con
.
Logon
(
UserInfo
.
DefaultUser
);
ControllerState
state
=
con
.
State
;
string
ip
=
con
.
IPAddress
.
ToString
();
RemoveController
(
ip
);
controllerMap
.
Add
(
ip
,
con
);
// controller = con;
controllerInfoMap
.
Add
(
ip
,
controllerInfo
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"添加机器人【"
+
controllerInfo
.
IPAddress
.
ToString
()
+
"】失败:"
+
ex
.
ToString
());
}
}
private
static
void
RemoveController
(
string
ip
)
{
if
(
controllerInfoMap
.
ContainsKey
(
ip
))
{
controllerInfoMap
.
Remove
(
ip
);
}
if
(
controllerMap
.
ContainsKey
(
ip
))
{
controllerMap
.
Remove
(
ip
);
}
}
private
static
void
HandleLostEvent
(
object
sender
,
NetworkWatcherEventArgs
e
)
{
...
...
@@ -58,14 +84,14 @@ namespace ABBRobotTest
private
static
void
HandleFoundEvent
(
object
sender
,
NetworkWatcherEventArgs
e
)
{
Invoke
(
new
EventHandler
<
NetworkWatcherEventArgs
>(
AddControllerToListView
),
new
Object
[]
{
null
,
e
});
//Invoke(new
//EventHandler<NetworkWatcherEventArgs>(AddControllerToListView),
//new Object[] { null, e });
AddControllerToListView
(
null
,
e
);
}
private
static
void
Invoke
(
EventHandler
<
NetworkWatcherEventArgs
>
eventHandler
,
object
[]
v
)
{
throw
new
NotImplementedException
();
{
}
private
static
void
AddControllerToListView
(
object
sender
,
NetworkWatcherEventArgs
e
)
...
...
@@ -217,7 +243,33 @@ namespace ABBRobotTest
LogUtil
.
error
(
"ABBRobot["
+
ip
+
"] ResetRobotSignal ["
+
name
+
"] Error:"
+
ex
.
ToString
());
}
}
internal
static
int
GetSingalState
(
string
ip
,
string
name
=
"do_ES"
)
{
try
{
Controller
controller
=
GetControllerByIP
(
ip
);
if
(
controller
!=
null
)
{
//string name = comboBox1.Text;
Signal
singalValue
=
controller
.
IOSystem
.
GetSignal
(
name
);
if
(
singalValue
==
null
)
{
LogUtil
.
error
(
"ABBRobot["
+
ip
+
"] GetSingal ["
+
name
+
"]= null"
);
}
else
{
DigitalSignal
digitalSig
=
(
DigitalSignal
)
singalValue
;
return
(
int
)
digitalSig
.
Value
;
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"ABBRobot["
+
ip
+
"] GetSingalState ["
+
name
+
"] Error:"
+
ex
.
ToString
());
}
return
0
;
}
internal
static
string
GetRobotState
(
string
ip
)
{
try
...
...
ABBRobotTest/FrmRobotMain.Designer.cs
查看文件 @
ad32f0d
此文件的差异被折叠,
点击展开。
ABBRobotTest/FrmRobotMain.cs
查看文件 @
ad32f0d
...
...
@@ -84,7 +84,7 @@ namespace ABBRobotTest
AddHealder
(
"SystemName"
,
100
);
AddHealder
(
"Version"
,
100
);
AddHealder
(
"ControllerName"
,
180
);
AddHealder
(
"Statue"
,
1
0
0
);
AddHealder
(
"Statue"
,
1
8
0
);
}
...
...
@@ -115,6 +115,23 @@ namespace ABBRobotTest
{
groupMove
.
Enabled
=
false
;
}
int
esValue
=
ABBRobotManager
.
GetSingalState
(
SelConIp
);
if
(
esValue
.
Equals
(
1
))
{
lblState
.
Text
=
"机器人["
+
SelConIp
+
"]急停中"
;
lblState
.
ForeColor
=
Color
.
Red
;
}
else
{
lblState
.
Text
=
""
;
int
isRun
=
ABBRobotManager
.
GetSingalState
(
SelConIp
,
ABBRobotManager
.
DO_IsRun
);
if
(
isRun
.
Equals
(
1
))
{
lblState
.
Text
=
"机器人程序正常运行中"
;
lblState
.
ForeColor
=
Color
.
Green
;
}
}
}
private
void
btnStart_Click
(
object
sender
,
EventArgs
e
)
...
...
@@ -140,7 +157,7 @@ namespace ABBRobotTest
if
(
listView1
.
SelectedItems
!=
null
&&
listView1
.
SelectedItems
.
Count
>
0
)
{
int
index
=
listView1
.
SelectedItems
[
0
].
Index
;
string
ip
=
listView1
.
Items
[
index
].
SubItems
[
0
].
ToString
();
string
ip
=
listView1
.
Items
[
index
].
SubItems
[
0
].
T
ext
.
T
oString
();
if
(!
String
.
IsNullOrEmpty
(
ip
))
{
SelConIp
=
ip
;
...
...
@@ -188,5 +205,11 @@ namespace ABBRobotTest
{
LogUtil
.
info
(
"机器人运动完成:"
+
msg
);
}
private
void
btnClearLog_Click
(
object
sender
,
EventArgs
e
)
{
this
.
richTextBox1
.
Clear
();
LogUtil
.
ClearLog
();
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论