 | |
Предыдущие результаты
Параметр Length в SLC всегда указывает длину в [b:43af2ad0c0]словах[/b:43af2ad0c0].
[quote:43af2ad0c0][b:43af2ad0c0]Length[/b:43af2ad0c0] is the number of elements in the file you want to copy. A timer, for example, is a single element that uses 3 words - the control (status) word, the preset word, and the accumulator word. (If the destination file type is 1 word per element, you can specify a maximum length of 128 words. If the destination is a timer file (3 words per timer), you can specify a maximum length of 42 elements (3 x 42 = 126). In this case 2 words would remain unused.
[/quote:43af2ad0c0]
|
Уважаемый Павел, а чем Вас не устраивает имя тега :wink: :
[code:1:48e388be25]
В данном примере тегу присваивается среднее значение трех других тегов. Для выполнения сценария и записи среднего трех тегов с именами Scale1, Scale2 и Scale3, в тег с именем AvgWeight, выполните следующую команду: VbaExec Average AvgWeight, Scale1, Scale2, Scale3.
Sub Average(sAvgTag As String, sTag1 As String, sTag2 As String, sTag3 As String)
On Error Resume Next
Dim fAverage As Single
'Вычисление среднего
fAverage = (gTagDb.GetTag(sTag1).Value + gTagDb.GetTag(sTag2).Value + gTagDb.GetTag(sTag3).Value) / 3
'Запись среднего в тег
gTagDb.GetTag(sAvgTag).Value = fAverage
End Sub
[/code:1:48e388be25]
|
Инструкция COP копирует элементы файла из файла CopyFile в Dest, количество элементов файла указывается в поле Lenght . Тип копитруемых элементов определятся типом элементов, которые содержит файл CopyFile.
В Вашем случае копируется десять элементов файла #I:1.2 (16-ти разрядный файл) в файл #B11:12 (16-ти разрядный файл), т.е. 10 бит.
|
Подскажите, если применяется иструкция СОР (SLC500) с парамтерами: Source #I:1.2
Dest #B11:12
Length 10
Это значит, что копируется из области #I:1.2 в область #B11:12 10 бит или 10 слов?
|
Пожалуйста:
[code:1:5bfaa674d6]Running a project automatically
You can set up a project to run automatically when Windows starts.
1. Click the Start button on the Windows task bar, point to Settings,
and then click Taskbar or click Taskbar & Start Menu.
2. Click the Start Menu Programs tab or Advanced tab.
3. Click Add.
4. Type the path to RSView32 or click Browse and locate RSView32.
Add the project name and the /r parameter to the command line.
For example, for a project called Norm’s Bakery, you would type
the following on the command line:
“C:\Program Files\Rockwell Software\RSView\RSView32.exe”
“C:\Norm’s Bakery\Norm’s Bakery.rsv” /r
If the path contains spaces, you must enclose it in double quotes.
The /r parameter must be outside the quotes.
5. Click Next.
6. In the Select Program Folder dialog box, select the StartUp folder.
7. Specify a name for the shortcut.
8. Click Finish.
For more information, see your Windows documentation.[/code:1:5bfaa674d6]
|
Вот пример bat-файла
cd "c:\program files\rockwell software\rsview\"
start rsviewrt32.exe "full_project_name" /r
exit
|
Уважаемые знатоки RSView32. Подскажите пожалуйста как решить данную задачу.
На мнемосхеме есть две кнопки Старт и Стоп которые запускают/останавливают заполнение емкости. Свойство Visible кнопок завязано на тег Control_Filling_Tank. Тег дискретный (связан с тегом контроллера) по истинному значению которого начинается заполнение емкости (включается контур упрвления). Но для включения контура управления необходимо чтобы емкость была нагрета, насосы работали и т.д., то есть необходимо выполнять проверку опреде-ленных условий. Если хоть одно из условий не выполняется об этом нужно сообщить операто-ру. Проверку я сделал при помощи VBA следующим образом:
[code:1:07e0878cc8]Sub Start_Fiiling_Tank()
Tank_is_Hot = Application.ActiveProject.TagDb.GetTag("Status\Tank_is_Hot")
Pump_OK = Application.ActiveProject.TagDb.GetTag("Status\Pump_OK")
Dim Temp_Str As Tag
Set Temp_Str = Application.ActiveProject.TagDb("Control\Error_Action")
Dim Command_Control As Tag
Set Command_Control = Application.ActiveProject.TagDb("Control\Supply_water_to_Tank")
If Tank_is_Hot = 0 Then
Temp_Str = "Емкость не нагрета!"
Application.ActiveProject.Command.Execute "Display popup_banan /T Control\Error_Action /cc"
ElseIf Pump_OK = 0 Then
Temp_Str = "Нет готовности насосов"
Application.ActiveProject.Command.Execute "Display popup_banan /T Control\Error_Action /cc"
Else
Command_Control = 1
End If
End Sub[/code:1:07e0878cc8]
Процедуру написал для примера, реально каждая процедура обрабатывает большее ко-личество условий. Вызывается она при нажатии на кнопку старт.
Все это дело реально выливается в то, что при нажатии на кнопку старт, кнопка не исче-зает сразу как бы хотелось (пока процедура зачитает статусные теги, пока пропишет значение в тег контроллера, пока зачитается новое значение и изменится свойство Visible ). Это дает воз-можность нажать на кнопку еще раза 3-4 что иногда приводит к ошибкам бейсика.
1. Велосипед изобрел?
2. Как бы так извратиться и в обработчике нажатия кнопки написать что-то типа
If Status\Tank_is_Hot = =1 then Control\Supply_water_to_Tank=1 else Display Блаблабла
3. Можно ли как-то асинхронно, что ли, получать значения тегов в процедурах VBA. Уж очень он тормозит, если надо зачитать 5-6 статусных тегов и выдать пару управляющих команд.
|
Встала проблема связать вышеуказанные устройства. Сами рассматривали 2 варианта:
1. DeviceNet с установкой платы связи в привод.
2. ProfiBus с установкой модуля связи в контроллер.
Может у кого-нибудь есть опыт организации подобной связи?
|
После загрузки ОС Windows 2003 Server процесс ServerFramework.exe начинает активно занимать память. За полчаса MemUsage увеличивается с 35 мб до 70 мб и продолжает расти. За 4 часа работы компьютера (причем ни RSView Studio не загружен, ни клиенты не подключены, просто загружена ОС) объем занимаемой памяти процессом ServerFramework.exe вырастает до 300-400мб. К концу рабочего дня выскакивают сообщения типа "Файл подкачки заполнен" и т.д. (объем файла подкачки ~ 1500 Мб). Как с этим бороться?
|
Спасибо! :) [img:82a2abbad4]http://smailiki.nm.ru/alco/prost.gif[/img:82a2abbad4]
|
Предыдущие результаты
Ещё результаты |
|
| |
|