 | |
Предыдущие результаты
Здравствуйте, коллеги!
Никто не сталкивался с проблемой записи в строковые теги ControlLogix и чтения из них строк на русском языке? Есть такая необходимость, чтобы одно приложение по OPC записало в контроллер строку на русском языке, другое - прочитало.
Я так понимаю, что стандартный тип String в Logix не катит по причине того, что каждый символ в строке имеет тип ShortInt (SINT). Но есть якобы вариант с использованием массива INTов, к которым нужно лишь своеобразно обратиться: например, из RSView32 указать примерно следующее [LINX_TOPIC]int_str[0],SCxx. В этом случае получается забрать символы в латинской кодировке (опять с кодом от 0 до 127 десятичн.), но с кодом от 128 до 255 никак, точнее они отображаются не по-русски в любом случае.
Если есть решение, то буду рад за помощь.
С уважением,
Vitaliy D. Burtsev
|
Раньше прямо из/в RSView можно было данные пересылать. Возможно так и описания тегов можно получить, к сожалению, до RSViewSE руки еще не дошли.
[code:1:4da3a49f3b]procedure TForm1.ConnectRSV;
var s_user:string;
oRSVapp: Variant;
sAppPath:string;
begin
try
oRSVapp:=CreateOleObject('RSView32.Application');
sAppPath:= ExtractFilePath(Application.EXEName);
s_user:=oRSVapp.ActiveProject.TagDb.GetTag('system\User');
if (s_user='ОПЕРАТОР')or(s_user='МАСТЕР')or(s_user='ИНЖЕНЕР') then kvit:=true else kvit:=false;
oRSVapp:=UnAssigned;
except
//RSView32 Не запущен
oRSVapp:=UnAssigned;
end;
end;
[/code:1:4da3a49f3b]
|
[quote:e5e6fe9e47]Я где-то читал (но уже не помню), что можно, но только для связи с ПЭВМ. Так-ли это?[/quote:e5e6fe9e47]
Ага. В 1756-um523_-en-p.pdf на стр. 2-12 это сказано:
[quote:e5e6fe9e47]1. Use EtherNet/IP ONLY for HMIs, workstations, and messaging.
In a redundant system, use an EtherNet/IP network ONLY for HMI,
workstation, and message communication. DON’T use an EtherNet/IP
network for:
• control of I/O modules
• peer interlocking (produced and consumed tags)
Important: RSLogix 5000 software lets you set up and download a project
that tries to use an EtherNet/IP network for I/O, produced tags, or consumed
tags. Those communications don’t work however.[/quote:e5e6fe9e47]
|
Делай VBA-процедуру в EXCELL.
[code:1:44fd36694d]Private Sub CommandButton1_Click()
Dim strNew As String
coll = 8
'(строка,столбец)
While Cells(coll, 3).Value <> ""
strNew = ""
strCell = Cells(coll, 4).Value
For i = 1 To Len(strCell)
bool = False
strP = Mid(strCell, i, 1)
If strP = "А" Then strNew = strNew & "$0410": bool = True
If strP = "Б" Then strNew = strNew & "$0411": bool = True
If strP = "В" Then strNew = strNew & "$0412": bool = True
If strP = "Г" Then strNew = strNew & "$0413": bool = True
If strP = "Д" Then strNew = strNew & "$0414": bool = True
If strP = "Е" Then strNew = strNew & "$0415": bool = True
If strP = "Ё" Then strNew = strNew & "$0401": bool = True
If strP = "Ж" Then strNew = strNew & "$0416": bool = True
If strP = "З" Then strNew = strNew & "$0417": bool = True
If strP = "И" Then strNew = strNew & "$0418": bool = True
If strP = "Й" Then strNew = strNew & "$0419": bool = True
If strP = "К" Then strNew = strNew & "$041a": bool = True
If strP = "Л" Then strNew = strNew & "$041b": bool = True
If strP = "М" Then strNew = strNew & "$041c": bool = True
If strP = "Н" Then strNew = strNew & "$041d": bool = True
If strP = "О" Then strNew = strNew & "$041e": bool = True
If strP = "П" Then strNew = strNew & "$041f": bool = True
If strP = "Р" Then strNew = strNew & "$0420": bool = True
If strP = "С" Then strNew = strNew & "$0421": bool = True
If strP = "Т" Then strNew = strNew & "$0422": bool = True
If strP = "У" Then strNew = strNew & "$0423": bool = True
If strP = "Ф" Then strNew = strNew & "$0424": bool = True
If strP = "Х" Then strNew = strNew & "$0425": bool = True
If strP = "Ц" Then strNew = strNew & "$0426": bool = True
If strP = "Ч" Then strNew = strNew & "$0427": bool = True
If strP = "Ш" Then strNew = strNew & "$0428": bool = True
If strP = "Щ" Then strNew = strNew & "$0429": bool = True
If strP = "Ъ" Then strNew = strNew & "$042a": bool = True
If strP = "Ы" Then strNew = strNew & "$042b": bool = True
If strP = "Ь" Then strNew = strNew & "$042c": bool = True
If strP = "Э" Then strNew = strNew & "$042d": bool = True
If strP = "Ю" Then strNew = strNew & "$042e": bool = True
If strP = "Я" Then strNew = strNew & "$042f": bool = True
If strP = "а" Then strNew = strNew & "$0430": bool = True
If strP = "б" Then strNew = strNew & "$0431": bool = True
If strP = "в" Then strNew = strNew & "$0432": bool = True
If strP = "г" Then strNew = strNew & "$0433": bool = True
If strP = "д" Then strNew = strNew & "$0434": bool = True
If strP = "е" Then strNew = strNew & "$0435": bool = True
If strP = "ё" Then strNew = strNew & "$0451": bool = True
If strP = "ж" Then strNew = strNew & "$0436": bool = True
If strP = "з" Then strNew = strNew & "$0437": bool = True
If strP = "и" Then strNew = strNew & "$0438": bool = True
If strP = "й" Then strNew = strNew & "$0439": bool = True
If strP = "к" Then strNew = strNew & "$043a": bool = True
If strP = "л" Then strNew = strNew & "$043b": bool = True
If strP = "м" Then strNew = strNew & "$043c": bool = True
If strP = "н" Then strNew = strNew & "$043d": bool = True
If strP = "о" Then strNew = strNew & "$043e": bool = True
If strP = "п" Then strNew = strNew & "$043f": bool = True
If strP = "р" Then strNew = strNew & "$0440": bool = True
If strP = "с" Then strNew = strNew & "$0441": bool = True
If strP = "т" Then strNew = strNew & "$0442": bool = True
If strP = "у" Then strNew = strNew & "$0443": bool = True
If strP = "ф" Then strNew = strNew & "$0444": bool = True
If strP = "х" Then strNew = strNew & "$0445": bool = True
If strP = "ц" Then strNew = strNew & "$0446": bool = True
If strP = "ч" Then strNew = strNew & "$0447": bool = True
If strP = "ш" Then strNew = strNew & "$0448": bool = True
If strP = "щ" Then strNew = strNew & "$0449": bool = True
If strP = "ъ" Then strNew = strNew & "$044a": bool = True
If strP = "ы" Then strNew = strNew & "$044b": bool = True
If strP = "ь" Then strNew = strNew & "$044c": bool = True
If strP = "э" Then strNew = strNew & "$044d": bool = True
If strP = "ю" Then strNew = strNew & "$044e": bool = True
If strP = "я" Then strNew = strNew & "$044f": bool = True
If Not (bool) Then strNew = strNew & strP
Next i
Cells(coll, 4).Value = strNew
coll = coll + 1
Wend
End Sub[/code:1:44fd36694d]
|
Добрый день, всем. Интересует вот такой вопрос никто не пробовал руссифицировать TrendX 3.41? И еще такой вопрос, если вскрыть Restorator-ом .ocx файл и русифицировать название закладок, кнопок, меню и т.п. для TrendX, не возникнет потом проблем при его работе?
|
При использование RSView32 на компьютере автоматически создавались ODBC соединения к базе данных проекта (через которые вытаскивались данные с описанием тэгов). На данный момент мы переходим на RSView SE. На компьютере с RSStudio ODBC соединения не создаются автоматически. Подскажите пожалуйста как получить доступ к проектной базе данных.
|
Уважаемый akko!
По поводу п.2: похожий вопрос уже обсуждался на форуме:
[url]http://vdt-automation.com.ua/modules.php?name=Forums&file=viewtopic&t=123&postdays=0&postorder=asc&start=0[/url]
Посмотрите, может быть такое решение Вам тоже пригодится.
|
Подскажите, пожалуйста, как в RSView32 по кнопке с командой AppStart запустить Windows-приложение ПОВЕРХ всех окон. Оно появляется СЗАДИ и выйти на него можно только по Alt+Tab. Но Alt+Tab хорошо бы запрещать в Run Time. Команды типа PullForward, AppActivate - не помогают. Буду признателен за помощь.
|
Всего самого наилучшего бывшим гражданам бывшего СССР!
Помогите осознать причины глюка инсталляции RSLogix5000 после переустановки виндов(XP SP1) на машинке.В ходе setup имеем сообщение Unable to access RSLogix5000 Module Profiles,завершение процесса установки и логфайл следующего содержания(привожу только последние строки):
RSLogix 5000 Setup: Begin MSXML3 analysis
RSLogix 5000 Setup: MSXML3 analysis ended successfully
RSLogix 5000 Setup: Begin MSXML4 analysis
RSLogix 5000 Setup: MSXML4 analysis ended successfully
RSLogix 5000 Setup: Begin Module Directory analysis
RSLogix 5000 Setup: ERROR: Module Directory instantiation failed:
Reason: 80040154: Класс не зарегистрирован
Может у кого есть мысли по этому поводу?
Заранее благодарен.
|
Работал контроллер и перестал видеть "заднюю шину". Перепрошил с 13 версии на 11 и обратно на 13, все заработало. Через некоторое вермя ситуация повторилась, но теперь перепрошить не могу, ругается на отсутствие связи после инициализации процедуры перепрошивки.
Лог файл перепрошивки, связь через rs232 -
08/29/06 10:32:41 [SUCCESS] Load Driver: C:\PROGRA~1\CONTRO~1\AB_ASA.DLL
08/29/06 10:32:41 [SUCCESS] Initialize Driver: C:\PROGRA~1\CONTRO~1\AB_ASA.DLL
08/29/06 10:32:50 [SUCCESS] Device Identity: Path = RSLinx API!AB_DF1-1, Instance = 1,
VID = 0x0001, PT = 0x000E, PC = 0x002C, Maj Rev = 13, Min Rev = 17, SN = 0x00234FAF
08/29/06 10:32:59 [SUCCESS] Load Script: C:\PROGRA~1\CONTRO~1\0001\000E\002C\99461502.nvs
08/29/06 10:32:59 [FAILURE] Validate: ERROR #1022: Catalog directory major revision downgrade validation error.
VID=0x0001, PT=0x000E, PC=0x002C
Maj Rev=13, Min Rev=17
08/29/06 10:33:00 [SUCCESS] Authorization: Bypass cookie used.
Key: 99461502
08/29/06 10:33:03 [SUCCESS] Program: Catalog Number = 1769-L30, Serial Number = 00234FAF,
Num Updates = 3, Size = 1391784 byte(s)
08/29/06 10:33:33 [FAILURE] Update: Error #11003: Unconnected Send timed out waiting for a response.
GS=0x01, ES=0x0204
Выключаю питание, включаю, все как и было.
В результате, у меня есть контроллер исправный, но не рабочий и ничего сделать с ним не могу.
Может быть есть у кого-ть идеи по этому поводу?
|
Предыдущие результаты
Ещё результаты |
|
| |
|