 | |
Предыдущие результаты
Не заряжали ли Вы оба компьютера с помощью одного и того образа диска? Если да, то это ошибка. В писании сказано:
[quote:141f0593dc]This error specifies that the "Connection is in Use or Duplicate Forward Open” . What we have found out is that you will get this error if more than one device with the same CIP serial number attempts to open a connection to the same target device (e.g. a ControlLogix controller) or through the same bridge device (e.g. an ENBT). [color=darkblue:141f0593dc]This condition usually occurs when the same disk image (e.g. a “ghost” image) is applied to multiple workstations without changing the serial number.[/color:141f0593dc] The CIP identity for the workstation is stored in the Registry at “HKLM\Software\Rockwell Software\RSLinxNG\CIP Identity”. The serial number is stored in the “SerialNumber” value.
Resolution:
After “ghosting” a workstation from an image containing an installation of RSLinx Enterprise, the serial number must be made unique by changing the “SerialNumber” value in the Registry. You can do this by the following methods
1. Change the SerialNumber value so that it is unique among the servers.
2. Go into the registry and delete the SerialNumber entry, then re-register the CIP.dll
3. (Preferred for customers) Uninstall and Re-install RSLinx Enterprise on each server.[/quote:141f0593dc]
В качестве Workaround попробуйте проверить, не существует ли файл [color=darkblue:141f0593dc]sfl20asu.dll[/color:141f0593dc] одновременно в папках
\WINDOWS\SYSTEM32 и \Program Files\Common Files\Rockwell.
Если да, то переименуйте этот файл в папке \WINDOWS\SYSTEM32 в [color=darkblue:141f0593dc]sfl20asu.dll.old[/color:141f0593dc]
|
Подскажите в чем может быть причина ошибки:СIP connection(1) open rejected (Error 200001) on route (имя контроллера), provider ошибки RSLinx Enterprise. RSLinx Enterprise работает на distributed RSView SE, резервируется.
Вариант с одинаковыми серийными номерами RSLinx Enterprise-проверялся, номера разные.
|
SpellBinder_у отвечаю про <в сотни раз> смотрите в коде
w := GetTickCount; в начале и
main.Label1.Caption := FloatToStr((GetTickCount - w) / 1000); вконце процедуры.Я не зря упражнялся с этим w. Попробуйте сами обработать Value_:=Value для
with TDb.GetTag(AFNameList.Strings[i]) на VB и Delphi напрмер для Tags.Count=1000 и почувствуйте разницу, а если Вы еще захотите попробовать и вложенный цикл, где то по тксту if err <> 0 then //если уставка не string_число, а указатель на тэг
with TDb.GetTag(Value) do begin, подискутируем.
|
Чего то тут писали про кошек, я так ине понял. Но с такой проблемой я дейсвительно сталкивался где то год три назад. Действительно нужно правильно в VBA делать обертку или порядок подачи команд для динамического изменения значения тега, например Discription во время
работы проекта в RUN! Log - дискретный тег с аварийоной конфигурацией по On.
см. пример:
Dim Start
gTagDb.GetTag("Log").Description = "СТАРТ ПРОЕКТА"
GoTo Log
gTagDb.GetTag("Log").Description = "Любите кошек"
GoTo Log
Log:
gCommand.Execute "SuppressOn Log"
gTagDb.GetTag("Log").WriteConfiguration
gCommand.Execute "SuppressOff Log"
gTagDb.GetTag("Log").Value = 1
Start = Timer
Do While Timer < Start + 1
DoEvents
Loop
gTagDb.GetTag("Log").Value = 0
Вот и все. И смеятся про кошек не надо. Я их очень люблю, и по возможности кормлю, особенно бездомных. А что бы до этого дойти мне примерно полгода понадобилось. Тогда таких форумов еще не было. :roll:
|
Забыл еще функцию
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
А саму функцию можно сделать отдельную, те без окна и кнопки
а значения соответсвующие label1 и 2 передавать двум строковым тэгам
проекта = gTagDb.GetTag("string1").Value
= gTagDb.GetTag("string2").Value
|
Уважаемый BigBug. Язык, если я правильно понимаю раскладка клавиатуры на АРМ переключается независимо ни от чего, тоесть не важно какая запущена скада. другое дело как это увидеть. Предлагаю в VBA написать процедуру.
В модуле скрипта надо обьявить API функцию
Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
А сама процедура для нажатия клавиши на какой нибудь форме(сделайте какуюнибудь форму в VBA)
Private Sub Button1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim layoutname As String * KL_NAMELENGTH
Dim capslock
Dim dl&
dl& = GetKeyboardLayoutName(layoutname)
capslock = GetKeyState(VK_CAPITAL)
If layoutname = EN_LANG Then
If capslock And 1 Then
Label1.Caption = "EN"
Label2.Caption = "Caps Lock"
Else
Label1.Caption = "en"
Label2.Caption = ""
End If
ElseIf layoutname = RU_LANG Then
If capslock And 1 Then
Label1.Caption = "RU"
Labe2.Caption = "Caps Lock"
Else
Label1.Caption = "ru"
Label2.Caption = ""
End If
Else: Label1.Caption = "??"
End If
End Sub
|
Кроме связки VBA и базы Access начиная с RSView32 7.30 в системе команд есть ещё пара штучек:
[quote:336edcd786]Language Tags Substitution utility is now available in RSView®32. Two commands LInsertStringTag and LTagSubstitute are added to allow users to create a spreadsheet of string tag values in different languages and to select the values in a particular language for the tags during runtime.[/quote:336edcd786]
И это всё. Увы, RSView32 - это очень старый продукт. Он не рекомендуется для вновь создаваемых систем. Переключение языков есть только в более новом RSViewSE aka FTViewSE.
Самое мудрое - это отговорить Вашего клиента от ошибки, которую он совершает, настаивая на устаревшем продукте и уговорить его на FTViewSE, преимущества которого очевидны.
|
Если речь идет об ответе 9567, то это как раз замена содержимого string-тегов.
Есть ли другие способы?
|
Доброе время суток!
Столкнулся со следующей задачей. Во-первых, заказчик хочет, чтобы в качестве SCADA использовалась RSView32 и ни что другое. Во-вторых, требуется, чтобы во время работы системы можно было бы переключать языки. Как минимум английский и русский, а по возможности еще и немецкий.
Как оказалось, какого-либо стандартного решения этой задачи в RSView32 нет. В следующих продвинутых версиях вроде Factory Talk для этой цели есть специальный action – “Language”. В RSView32 его нет. Можно довольно просто менять содержимое string-тегов, но это не решает проблему полностью. Многие графические элементы имеют свойства, к которым не добраться через теги, напр., текст на кнопках, окне тревог, трендах и т.д.
Если кто сталкивался с подобной проблемой, или есть идеи, как ее решить, чиркните, пожалуйста. Буду премного благодарен.
|
http://www.filehoster.ru/files/ct3811 > http://www.filehoster.ru/files/ct3858
http://www.filehoster.ru/files/ct3819 > http://www.filehoster.ru/files/ct3861
http://www.filehoster.ru/files/ct3811 > http://www.filehoster.ru/files/ct3861
http://www.filehoster.ru/files/ct3819 > http://www.filehoster.ru/files/ct3861
http://www.filehoster.ru/files/ct3819 > http://www.filehoster.ru/files/ct3863
|
Предыдущие результаты
Ещё результаты |
|
| |
|