文档库 最新最全的文档下载
当前位置:文档库 › SE各种问题

SE各种问题

SE 6.1 数据存储:

历史数据记录的3种方式:
【1】.文件集,长文件名。
文件格式 DAT,不能使用其他软件打开,excel打开不能看到“值”列的数据,只能用se6.1自带的趋势工具通过数据记录模型以曲线的方式打开。
【2】文件集,段文件名。
文件格式DBF,可以使用excel打开。不能修改列宽,不能添加记录。
【3】odbc支持的数据库。
比较方便以后的维护和更改数据。

问题【1】:记录数据的服务器突然断电,然后今天(也可能包含最近几天)的历史数据读不出来。
解决:暂停数据记录和曲线读取历史数据,如果是dat文件,打开历史记录的路径,删除DNS和DLG的2个文件(放心,重新开始记录时会重新建立这两个文件),开启数据记录,打开曲线之后就可以看到曲线了。

问题【2】:如何将其他机器的相同数据录文件DAT拷贝过来。
解决:直接拷贝数据文件dat,然后删除问题1中的两个文件即可。

问题【3】:如何将dat文件数据导出到其他数据库或excel?
解决:se6.1帮助中指出,dat文件不能使用其他软件打开,就算打开也不取得全部信息,而且se6.1不提供将历史数据导出的功能。因此翻阅资料,可以通过VBA访问trend模型中的pen子模型的方法实现。(GetSpecifiedValue方法)。
-------------------------------------------------------
pen 对象:
GetSpecifiedValue 方法
示例
返回在给定时间值栏显示的值。
语法
pen.GetSpecifiedValue(Time, TimeMS) As Variant
其中
pen - 表示您希望在值栏中查看哪个 Pen 对象的值。
Time - 是一个日期类型的参数,指定值栏位置时的间和日期。
TimeMS - 是一个长整数类型的参数,指定与时间的毫秒偏移量。
示例:GetValueBarPosition 和 GetSpecifiedValue 方法
-------------------------------------------------------
//一次性导出20只笔历史数据的代码:画面文件“历史数据(DAT)导出”。
Private Sub Display_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)
Dim DT1 As Date, DT2 As Date, i As Long, j As Integer, value As Double, span As Integer
Trend2.Scroll = False
i = 0: j = 0: k = 0
DT1 = Me.DTPicker1.value
DT2 = Me.DTPicker2.value
Trend2.XAxis.StartTime = DT1
Dim objexcel As Object
Set objexcel = CreateObject("Excel.Application")
With objexcel
.Application.Visible = False
.Application.workbooks.Add
.worksheets("Sheet1").Activate

With .worksheets("Sheet1")
.Cells(1, 1).value = "记录时间"
.Cells(1, 2).value = Me.Trend2.Pens.Item(1).Name
.Cells(1, 3).value = Me.Trend2.Pens.Item(2).Name
.Cells(1, 4).value = Me.Trend2.Pens.Item(3).Name
.Cells(1, 5).value = Me.Trend2.Pens.Item(4).Name
.Cells(1, 6).value = Me.Trend2.Pens.Item(5).Name
.Cells(1, 7).value = Me.Trend2.Pens.Item(6).Name
.Cells(1, 8).value = Me.Trend2.Pens.Item(7).Name
.Cells(1, 9).

value = Me.Trend2.Pens.Item(8).Name
.Cells(1, 10).value = Me.Trend2.Pens.Item(9).Name
.Cells(1, 11).value = Me.Trend2.Pens.Item(10).Name
.Cells(1, 12).value = Me.Trend2.Pens.Item(11).Name
.Cells(1, 13).value = Me.Trend2.Pens.Item(12).Name
.Cells(1, 14).value = Me.Trend2.Pens.Item(13).Name
.Cells(1, 15).value = Me.Trend2.Pens.Item(14).Name
.Cells(1, 16).value = Me.Trend2.Pens.Item(15).Name
.Cells(1, 17).value = Me.Trend2.Pens.Item(16).Name
.Cells(1, 18).value = Me.Trend2.Pens.Item(17).Name
.Cells(1, 19).value = Me.Trend2.Pens.Item(18).Name
.Cells(1, 20).value = Me.Trend2.Pens.Item(19).Name
.Cells(1, 21).value = Me.Trend2.Pens.Item(20).Name
Do
.Cells(i + 2, 1).value = DT1
value = Me.Trend2.Pens.Item(1).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 2).value = value
value = Me.Trend2.Pens.Item(2).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 3).value = value
value = Me.Trend2.Pens.Item(3).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 4).value = value
value = Me.Trend2.Pens.Item(4).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 5).value = value
value = Me.Trend2.Pens.Item(5).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 6).value = value
value = Me.Trend2.Pens.Item(6).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 7).value = value
value = Me.Trend2.Pens.Item(7).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 8).value = value
value = Me.Trend2.Pens.Item(8).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 9).value = value
value = Me.Trend2.Pens.Item(9).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 10).value = value
value = Me.Trend2.Pens.Item(10).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 11).value = value
value = Me.Trend2.Pens.Item(11).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 12).value = value
value = Me.Trend2.Pens.Item(12).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 13).value = value
value = Me.Trend2.Pens.Item(13).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 14).value = value
value = Me.Trend2.Pens.Item(14).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 15).value = value
value = Me.Trend2.Pens.Item(15).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 16).value = value
value = Me.Trend2.Pens.Item(16).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 17).value = value
value = Me.Trend2.Pens.Item(17).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 18).value = value
value = Me.Trend2.Pens.Item(18).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 19).value = value
value = Me.Trend2.Pens.Item(19).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 20).value = value
value = Me.Trend2.Pens.Item(20).GetSpecifiedValue(DT1, 0)
.Cells(i + 2, 21).value = value
DT1 = DateAdd("n", 1, DT1)
i = i + 1
Loop While DT1 < DT2
End With
.Application.Visible = True
End With
End Sub
-------------------------------------------------------
问题【4】:SE6.1 中如何导入jpg,png,bmp,gif图片?
解决:6.1版本中只能导入jpg,bmp格式,而且jpg导入后会被转换成bmp,清晰度不变。如果能导入jpg建议直接使用jpg,如果导入失败,请先转换成bmp格式。6.1版本不支持png透明图片和gif

动画格式的图片,可以通过加入activeX控件来加载以上图片格式,7.0支持png。

问题【5】:第一次打开cs构架的网路工程的趋势画面需要等待20s以上。
解决:

问题【6】:将可移动画面拖放到屏幕外,画面会产生滚动条,自动扩大画面。
解决:6.1版本的漏洞,暂未解决。

问题【7】:如何让调用vba子程序?
解决:se命令中不能直接加载vba子程序。只有使用se中支持vba脚本的对象来触发。可以做一个变量的数值显示,在其变化事件中触发代码运行。或使用按钮,在左键单击事件中触发代码,等等。

问题【8】:如何做设备的运行记录?
解决:将设备的运行信号在tag中添加标签,并使用一个后台运行的画面back,在画面初始化加载vba程序(新建taggroup对象,将设备运行标签添加到该组中),在taggroup的变化事件中加设备运行记录代码即可,运行时会自动检测taggroup的变化事件,若有标签发生变化会通知用户,并返回变化标签的名称。

问题【9】;如何做用户的操作记录?
解决:se自带该记录,可以将其存储到指定路劲或者odbc数据库。只不过是英文的方式记录的,翻译比较麻烦,建议自己使用vba做。可以在设备操作按钮里面使用remark命令记录,也可以写vba代码进行记录。

问题【10】:se如何做报表?
解决:可以使用vanagepint软件制作。如果没有软件,可以使用vba查询odbc数据库数据制作,前提是先将数据存储到该数据库。

问题【11】:如何在上位机上给ab plc时间同步?
解决:在宏里面写一以下命令,必须现在plc上写时间同步程序,在事件里面调用该宏。
{::[JMA PLC]Program:MainProgram.System_Timer_Set}=1
{::[JMA PLC]Program:MainProgram.System_Timer[0]}=system\Year
{::[JMA PLC]Program:MainProgram.System_Timer[1]}=system\Month
{::[JMA PLC]Program:MainProgram.System_Timer[2]}=system\DayOfMonth
{::[JMA PLC]Program:MainProgram.System_Timer[3]}=system\Hour
{::[JMA PLC]Program:MainProgram.System_Timer[4]}=system\Minute
{::[JMA PLC]Program:MainProgram.System_Timer[5]}=system\Second
{::[JMA PLC]Program:MainProgram.System_Timer_Set}=0
!PMA站时间设定
{::[PMA PLC]Program:MainProgram.System_Timer_Set}=1
{::[PMA PLC]Program:MainProgram.System_Timer[0]}=system\Year
{::[PMA PLC]Program:MainProgram.System_Timer[1]}=system\Month
{::[PMA PLC]Program:MainProgram.System_Timer[2]}=system\DayOfMonth
{::[PMA PLC]Program:MainProgram.System_Timer[3]}=system\Hour
{::[PMA PLC]Program:MainProgram.System_Timer[4]}=system\Minute
{::[PMA PLC]Program:MainProgram.System_Timer[5]}=system\Second
{::[PMA PLC]Program:MainProgram.System_Timer_Set}=0

问题【12】:ftv-se的网络工程(本地工程导入没有任何问题)导入hmi服务器时不能导入画面(提示:画面迁移失败),就算是

自己新建工程-新建画面-编辑画面-保存并关闭画面后,也不能打开画面(提示:组件不存在),无论换几个系统都不能解决该问题。
解答:IIS出问题了引起的,重装IIS,然后打补丁“SE不能导入及打开画面 解决”。

问题【13】:运行在hmi服务器上的se网络工程,画面里含有active控件(例如:日历控件),在客户端不能正常显示该控件(提示:控件版本过低,hmi服务器的控件cab文件丢失)。
解决1:暂行方案
客户端的控件版本低于hmi服务器的控件版本,将工程在客户端上修改,将控件删除,使用客户端的低版本控件代替即可。
解决2:制作cab文件,服务器iis在发布画面时会自动下载控件到客户端电脑。参看se帮助文件。

问题【14】:全场4个站,3个使用1769-L35E,1个站(PMA)使用1756-L71,pma站信号时常会掉,但是掉的时候ping的通该站的以太网模块。
解决3:PMA站改成RSLINX CLASICALL (OPC)通讯方式。

问题【15】:不能够删除网络工程,提示在使用?
解决:关闭目录服务器上的服务后即可删除。
1.在目录服务器上:我的电脑-右键-管理-配置-服务-rockwell application services-右键-停止。
2.删除工程。
3.在目录服务器上:我的电脑-右键-管理-配置-服务-rockwell application services-右键-开启。

问题【16】:删除或更改工程的域名,导致出现不能解析域名的错误。
解决:工程域名和该区域下hmi server的名称不能相同。

问题【17】:活动记录的记录时间不对,时区只能选UTP协调世界时间,若选北京就少8个小时。
解决:该问题不影响客户端查询的时间显示,没有关系。

问题【18】:客户端不能访问服务器
需要打开服务器的文件共享和网络发现。

相关文档