 | |
Предыдущие результаты
Было у меня давным давно написанное на Delphi приложение для работы с ActivityLog. Я его не уже не задумываясь ставил на ряд объектов пока не появилось RSView 7.0. У Delphi известная проблема с DBF у которых поле символов >= 255 символов. Так вот в RSView 7.0 их в поле описания Descrpt 255 и стало =(.
Приложение я конечно переписал, но вопрос остался: Можно-ли как-то изменить размер поля Descrpt в базах ActivityLog?
|
Я всегда ставлю проверку на наличие и доступность файла. Правда теперь я на Delphi пишу. Был у меня неприятный опыт с VB. Написал я на VB учет и часть бухгалтерии, но работало как-то все тормозно. А потом выяснилось, что пока открыто какое-нибудь окно этого приложения, RSView почти останавливается. Вобщем маялся я и еще один человек с этим 1,5 года, пока не переписали все на Delphi. Работает уже 3 года =)
|
Скажу честно с такой проблемой не сталкивался - всегда все работало.
Посоветую не связываться с DDE, OPC - гораздо лучше.
Решение проблемы для вашего случая: передавайте целое число, а потом мащтабируйте, все равно в контроллере с модуля приходит целое число =).
Это называется работа с инженерными единицами, когда все шкалы приводятся к одному диапазону, очень удобно фильтры, гистерезисы, переводы в 4-20mA, квадратичные шкалы делать.
|
Если речь идёт о компьютере VersaView 700R, то это обычный индустриальный компьютер:
[img:6e7fedb848]http://vdt-automation.de/img/bedientermin/700r.jpg[/img:6e7fedb848]
Просто вставьте в него плату MPI или Profibus и всё.
Если же речь идёт о панели VersaView 700H, вот такой
[img:6e7fedb848]http://vdt-automation.de/img/bedientermin/6182h.jpg[/img:6e7fedb848]
то нужен внешний конвертер интерфейса или модуль в контроллер.
Конвертер интерфейса может быть такой:
[img:6e7fedb848]http://www.anybus.com/eng/images/ABXconcept_ny.png[/img:6e7fedb848]
|
Пробовали на машине под Windows 2000 с установленным линкс 2.41 и даже 2.43
записать данные в тэг, десятичная часть отбрасывается.
При этом, если записывать через Excel, то все нормально проходит.
Коды записи -
Visual Basic 6.0
Text1 - текстовое окно
Command1 - кнопка
test_dde- топик
[code:1:c6023a08f3]Private Sub Command1_Click()
Text1.LinkTopic = "RSLINX|test_dde"
Text1.LinkMode = vbLinkManual
Text1.LinkItem = "Program:MainProgram.X_Arr_Data[1].Data[2],L1,C1"
Text1 = Replace(Val(Text1), ".", ",")
Text1.LinkPoke
End Sub[/code:1:c6023a08f3]
Запись проходит, если разделитель в значении исключительно "," хотя
разделитель в системе может быть любым.
----------------------------------------------------------------------------
Visual Basic Excel (VBA)
[code:1:c6023a08f3]Public Sub a1()
Dim a As Long, rangeToPoke, er
a = Application.DDEInitiate("RSLINX", "test_dde") ' DDE подключение
Set rangeToPoke = Application.Worksheets("Лист1").Range("A2") ' ячейка
со значением на запись
Application.DDEPoke a,
"Program:MainProgram.X_arr_Data[1].Data[2],L1,C1", rangeToPoke ' Вставка
данных
er = Application.DDEAppReturnCode ' Обработка ошибки
End Sub
[/code:1:c6023a08f3]
При это запись осуществляется только если писать значение из какой-либо
ячейки, просто значение не записывается.
Запись проходит, если разделитель в значении исключительно "," хотя
разделитель в системе может быть любым. А если запись не проходит, то код ошибки все равно не возвращается
----------------------------------------------------------------------------
Вот и понять не можем в чем причина, а работать с топиками из среды
разработки очень хочется.
Может бы сталкивались с подобным?
Может быть есть альтернативы работать с топиками из VB6 / VB.Net
|
Что бы я попробовал, так это поставил RSView32 [color=blue:b0de4b6828]без[/color:b0de4b6828] MS Visual Basic.
|
[code:1:8e5bc4a73b]Sub prb()
Dim p As String, n As String
n = InputBox("", "")
p = "C:\Temp\" & n
MsgBox p
MkDir (p)
End Sub[/code:1:8e5bc4a73b]
Только что ради интереса проверил - всё замечательно работает.
MS Windows XP + SP2
RSView v7.10.00 (CPR6)
[quote:8e5bc4a73b]в MS VB 6 все отлично, а под RS View ни в какую. Shocked Confused[/quote:8e5bc4a73b]
А что пишет?
|
Для связи со смежной системой(передачи им некоторых значений тэгов) используется простейший скриптик:
Public Sub To_Mak()
Dim F_prg As Tag, p1 As String
p1 = "e:\temp\gaz.txt"
On Error GoTo lable1
Set F_prg = gTagDb("prg\rmain")
Open p1 For Append As #1
Print #1, F_prg
Close #1
Exit Sub
lable1:
MsgBox Err.Description
Resume Next
End Sub
Так вот на некоторых станциях он выполняестя нормально, а на некоторых( при видимой одинаковости условий)выдает ошибки:
"File not found" "Bad file name or number".
Сталкивался ли кто нибудь с чем то подобным!?помогите,плиз.
зы. "нормальные станции"
- RS View32 7.10, office XP
-RS View32 6.30, office 2000
"ненормальные:) станции"
-RS View32 7.10, office XP
-RS View32 7.10, office 2003
все "офисы" со своим VBA, на всех станциях стои MS Visual Basic 6 pro
|
В PanelBuilder32 есть WinPFT utility.Можно сделать загрузку или выгрузку PanelView,либо Dataliner.
Есть даталайнер Cat:2706-E23J16B1
Ser:D
не могу ни как с ним связатся через com-port кабель 100% рабочий я им с панелями связываюсь.В чем причина? :?: .Зарание благодарен.
|
Как вариант.
1. Вытащить из панели карту.
2. Воткнуть ее в ноутбук.
3. Взять файл проекта и вместе с проектом на флешку бросить и созданные русские фонты. Должны они быть в папке ..PanelBuilder32\Fonts.
С уважением,
Vitaliy D. Burtsev
|
Предыдущие результаты
Ещё результаты |
|
| |
|