Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
кто работает с iFIX... (страница 10)

Версия для печати (настроить)
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Новая тема | Написать ответ

Подписаться

Автор Тема:   кто работает с iFIX...
nicece
Junior Member

Сообщений: 8
Откуда: Москва, Россия
Регистрация: Март 2008

написано 23 Июня 2008 16:25ИнфоПравкаОтветитьIP

На счет второго вопроса.
Есть бак с заполнением жидкостью, показывается шкала заполнения бака
Эту шкалу необходимо привязать к трем тэгам: первый тэг -минимальная величина(в баке минимум жидкости)- шкала должна быть желтой, второй тэг – средняя величина (находится в диапазоне от мин к макс, но привязана к другому тэгу)-шкала должна быть синей, третий тэг-максимальная величина(бак переполнен жидкостью)-шкала должна быть красной. Поясняю эти тэи привязаны к датчикам уровней, поэтому просто прописать границы мин и мак нельзя, т.к. они будут постоянно меняется (в зависимости от показаний датчиков, датчики не фиксированные).
Я пытался сделать из трех шкал, привязанных каждая к определенному тэгу общую гистограмму, но они перекрывают друг друга. Если был бы один тэг, то да там можно у него поставить любые диапазоны. А с тремя не знаю как.
И можно подсказать примером, как прописать это сравнение, как сделать форму знаю.
Получается необходимо прописать это сравнение в сделанной форме, кодом VBA, а в основном скрипте прописать вывод этой формы?

Добавление от 23 Июня 2008 16:27:

к 1 вопросу)
И можно подсказать примером, как прописать это сравнение, как сделать форму знаю.
Получается необходимо прописать это сравнение в сделанной форме, кодом VBA, а в основном скрипте прописать вывод этой формы?

MERLIN
Junior Member

Сообщений: 2
Откуда: МИНСК БЕЛАРУСЬ
Регистрация: Июнь 2008

написано 24 Июня 2008 14:05ИнфоПравкаОтветитьIP

Необходимо сделать гистограмму заполнения бака с привязкой её к трем тэгам(нижний придел, верхний предел и средний), чтобы по значению этих тегов она меняла цвет не перекрывая друг друга именно по достижению значения тега(мин, макс).
Какие теги если DI то лучше настроить три адреса на блок MDI если AI то собирай из трех прямоугольников настраивая их на заполнение и цвет.
Как вывести на графике исторические значения тэга за определенный период(посмотреть какие его значения были в определенные дни)
Через VBA
код для текущего времени
Private Sub CommandButton3_Click()
'Dim strDate, strTime As String
strDate = System.CurrentDate
strTime = System.CurrentTime
Chart1.FixedDate = strDate
Chart1.FixedTime = strTime
'Chart1.Pens.
Chart1.Pens.Item(1).EndTime = strDate & " " & strTime
Chart1.RefreshChartData

Максим
Junior Member

Сообщений: 4
Откуда: Санкт-Петербург, Россия
Регистрация: Февраль 2008

написано 25 Июня 2008 15:09ИнфоПравкаОтветитьIP

nicece,
К 1 вопросу: да я думаю, просто использовать глобальную строковую переменную - правильный пароль, ввод пользователя через textbox, потом сравнивать и если совпадает, открывать рисунок - If Textbox.Value = var Then OpenPicture "name.grf"

HelpFix,
Если интересно, решил проблемку с разделителем целой и дробной части числа в Crystal Reports, данный баг описан у разработчиков CR и выпущена откорректированная версия p2odbc.dll

nicece
Junior Member

Сообщений: 9
Откуда: Москва, Россия
Регистрация: Март 2008

написано 26 Июня 2008 09:27ИнфоПравкаОтветитьIP

Здравствуйте, спасибо за предыдущие ответы.
Еще возник вопрос: Через какой компанент мозно посмотреть АРХИВ АВАРИЙНЫХ СООБЩЕНИЙ?

Максим
Junior Member

Сообщений: 5
Откуда: Санкт-Петербург, Россия
Регистрация: Февраль 2008

написано 26 Июня 2008 11:37ИнфоПравкаОтветитьIP

Здравствуйте, nicece,
сначала надо настроить архивацию в SCU (конфигурация>тревоги), а уж потом либо в файле, либо по ODBC.

nicece
Junior Member

Сообщений: 10
Откуда: Москва, Россия
Регистрация: Март 2008

написано 26 Июня 2008 12:21ИнфоПравкаОтветитьIP

спасибо.
Ещё вопрос:
мы получаем от устройство аварийное сообщение словом, в котором каждый бит это определеная авария.Как разбить это слово и связать с каждым битом в этом слове аварийное сообщение?

Максим
Junior Member

Сообщений: 6
Откуда: Санкт-Петербург, Россия
Регистрация: Февраль 2008

написано 26 Июня 2008 13:28ИнфоПравкаОтветитьIP

nicece,
Либо на уровне контроллера, а наверх уже отдавать дискретную величину, либо есть апгрейд для базы данных iFIX, после установки появляется новый блок данных "D16" - 16 bit Digital Block, в нём можно даже двойное слово по битам мониторить и назначать тревоги. Если надо, давайте мыло, скину...

nicece
Junior Member

Сообщений: 11
Откуда: Москва, Россия
Регистрация: Март 2008

написано 26 Июня 2008 13:41ИнфоПравкаОтветитьIP

Да очень надо, вот моё мыло
nicece(собачка)mail(точка)ru

Максим
Junior Member

Сообщений: 7
Откуда: Санкт-Петербург, Россия
Регистрация: Февраль 2008

написано 26 Июня 2008 14:17ИнфоПравкаОтветитьIP

nicece,
Отправил, распаковываете в любое место, запускаете батник и всё, на 3.5 точно встаёт. Самому пользовать нужды ещё не было, так что как сконфигурировать, разбирайтесь сами, если не сложно отпишитесь потом получилось ли. Удачи.

nicece
Junior Member

Сообщений: 12
Откуда: Москва, Россия
Регистрация: Март 2008

написано 26 Июня 2008 14:24ИнфоПравкаОтветитьIP

Спасибо, получил.Сейчас буду разбираться.

Добавление от 26 Июня 2008 15:01:

D16_INST-не устанавливается, т.к. у меня версия 4.0, а там прописана установка на версию 3.5
в ручную скинул распакованнные фаилы в PDB и NLS-не помогло.
Но чувствуется это то что мне надо , нашел в инете такойже фаил на 4.0, но пока не дает его скачать, скорее всего он платный.

Добавление от 26 Июня 2008 15:23:

Расскажите пожалуйста, по подробнее как SCU настроить архавацию аварийных сообщениий в фаил в текстовый, excel или access?

Максим
Junior Member

Сообщений: 8
Откуда: Санкт-Петербург, Россия
Регистрация: Февраль 2008

написано 26 Июня 2008 23:32ИнфоПравкаОтветитьIP

nicece,
там всё интуитивно понятно, касаемо архивации в файл просто ставим галочку-включение и конфигурируем необходимые поля, по поводу ODBC тоже не сложно, извините, не буду расписывать, муторно. Удачи.

nicece
Junior Member

Сообщений: 13
Откуда: Москва, Россия
Регистрация: Март 2008

написано 03 Июля 2008 10:05ИнфоПравкаОтветитьIP

Здравствуйте, подскажите пожалуйсто, как правильно прописывается скрипт, при нажати на кнопку возвращался предыдущий открытый рисунок, т.е. тот рисунок который последний раз открылся перед тем как я нажал на кнопку?

HelpFix
Member

Сообщений: 67
Регистрация: Февраль 2007

написано 03 Июля 2008 15:23ИнфоПравкаОтветитьIP

nicece,
это как в explorer-e кнопка Назад ???

для этого вам придется сначала где-нибудь сохранить имя того рисунка, который последний раз открывался.
специальной ячейки, где хранится название последнего открытого рисунка в ifix нет.
лучше это сделать в глобальных строковых переменных области User.

каждый рисунок в вашем проекте должен при запуске в процедуре инициализации записывать в эту переменную
свое название (= Me.FullyQualifiedName) и тогда, когда вы захотите определить последний открытый рисунок, достаточно будет обратиться к этой переменной.

SJenek
Junior Member

Сообщений: 1
Регистрация: Июль 2008

написано 14 Июля 2008 15:25ИнфоПравкаОтветитьIP

Здравствуйте, может кто поможет!
При запуске workspase возникает ошибка, не могу найти файл project.cpp по указанному пути,при чем такого пути на машине никогда не существовало. Данный путь с именем файла прописан в scripting.dll. После многократного нажимания на OK на сообщение, workspase все же запускается. Пробовал переустановить IFix не помогает.

HelpFix
Member

Сообщений: 68
Регистрация: Февраль 2007

написано 15 Июля 2008 00:19ИнфоПравкаОтветитьIP

может быть...
Пользователь в Windows, запускающий iFix - должен быть - опытный пользователь или администратор.

Gud
Junior Member

Сообщений: 3
Регистрация: Июнь 2008

написано 21 Июля 2008 08:28ИнфоПравкаОтветитьIP

такая вот ошибка происходит:
для вывода графиков использую вот этот код из Sample:
......
If lngRecordCount > 500 Then lngRecordCount = 500 'Max of 500 pts. on a chart
......
Do While Not rsADO.EOF And iCounter < 500
....................
iCounter = iCounter + 1
rsADO.MoveNext
Loop
............
objPen.SetPenDataArray lngRecordCount, vdblPenData, vdtPenDate, vlngPenQuality
............
objMainChart.RefreshChartData
........... и.т.д.
с числом 500 все работает,
500 это вроде бы максимальное число точек в графике, так вот когда делаю например 600 точек,
все 500 заменяю на 600,
ставлю objPen.Maxpts = 600
и до строки objMainChart.RefreshChartData, график в чате строится а после пропадает.
в чем ошибка? как сделать количество точек в графике больше 500?

nicece
Junior Member

Сообщений: 14
Откуда: Москва, Россия
Регистрация: Март 2008

написано 21 Июля 2008 13:35ИнфоПравкаОтветитьIP

Здравствуйте, помогите пожалуйста- мне необходимо скачать с сайта поддержки
Один файл(об этом файле говорилось в предыдущих вопросах/ответах-"D16" - 16 bit Digital Block-Только он для версии 4.0). А у меня нет кода доступа может кто поможет.
Вот ссылка на страничку где этот файл находится- ссылка
Он там называется так- DD134: D16 - 16 Bit Digital Status (iFIX 4.0)
Помогите пожалуйста чем сможете.

Добавление от 21 Июля 2008 15:01:

Подскажите . где можно почитать как работать с различными в базе данных с типами блока(как правильно их настроить). Особенно с теми которые являются внутренними (BB,BL,CA,DC,DT,ETR,EV,FN,HS,LL,MDI,PA,PG,PID,RB,RM,SC,SD,SQD,SQT,SS,TM,TR,TT)

hell_boy
Junior Member

Сообщений: 7
Регистрация: Март 2007

написано 23 Июля 2008 00:41ИнфоПравкаОтветитьIP

D16 - 16 Bit Digital Status (iFIX 4.0)

ftp://ftp.indusoft.ru/GEFanuc_Products/iFIX/SIM/SIM_iFIX4.0/D16_40.zip

nicece
Junior Member

Сообщений: 15
Откуда: Москва, Россия
Регистрация: Март 2008

написано 23 Июля 2008 10:35ИнфоПравкаОтветитьIP


hell_boy- Огромное спасибо.
скачал, установилась, буду разбераться )))

Добавление от 23 Июля 2008 11:47:

Подскажите, пожалуйта, как сделать, чтобы можно было распечатовать графики получаемые на диаграмме?
P.S.графики выводятся по историческим данным.

hell_boy
Junior Member

Сообщений: 8
Регистрация: Март 2007

написано 24 Июля 2008 22:56ИнфоПравкаОтветитьIP

1-й способ (классический)

Public Sub FixGlobals_CtrlP()
'change background color to save toner
Dim dColor As Double
Dim thispic As Object
Set thispic = System.FindObject(Application.ActiveDocument.Name)
dColor = thispic.BackgroundColor
thispic.BackgroundColor = vbWhite
'do print
Application.ActiveDocument.PrintOut
thispic.BackgroundColor = dColor
Set thispic = Nothing

2-й способ (китайский)

ftp://www.gotogk.com/DllScreenCap.dll

Option Explicit
Private Declare Function CaptureFullScreen Lib "DllScreenCap.dll" (ByVal lpFileName As String, ByVal bprint As Boolean) As Long
Sub PrintScreen()
CaptureFullScreen "", True
End Sub

nicece
Junior Member

Сообщений: 16
Откуда: Москва, Россия
Регистрация: Март 2008

написано 29 Июля 2008 08:16ИнфоПравкаОтветитьIP

hell_boy:
Для второго способа при скачке -ftp://www.gotogk.com/DllScreenCap.dll требуется
пароль.Можно ли этот фаил скачать без пароля?

Добавление от 29 Июля 2008 08:46:

А первый скрипт прописывется в скрипте самого графика (Chart)?

nicece
Junior Member

Сообщений: 17
Откуда: Москва, Россия
Регистрация: Март 2008

написано 31 Июля 2008 16:21ИнфоПравкаОтветитьIP

Здравствуйте.
Вот на счет распечатки графиков, такой вот скрипт:
Public Sub FixGlobals_CtrlP()
'change background color to save toner
Dim dColor As Double
Dim thispic As Object
Set thispic = System.FindObject(Application.ActiveDocument.Name)
dColor = thispic.BackgroundColor
thispic.BackgroundColor = vbWhite
'do print
Application.ActiveDocument.PrintOut
thispic.BackgroundColor = dColor
Set thispic = Nothing
Срабатывает на автоматическое распечатку открытой страницы.
В принципе можно просто нажимать на F10-заходить в меню -и нажимать печать.
Но, можно ли как ни- то этот скрипт перенести на кнопку, при нажатии на которую будет происходить распечатка открытого экрана.
То есть как этот скрипт к кнопке привязать или для кнопки его записывать надо по-другому?

Marduk
Junior Member

Сообщений: 1
Регистрация: Июль 2008

написано 31 Июля 2008 16:57ИнфоПравкаОтветитьIP

Здравствуйте, помогите пожалуйста!!! В фиксе есть рисунок grf, на нем DataLink. DataLink должен выводить
трехзначное целое число например 063, 007, 754, и т.д. Но фактически выводит 63, 7, 754.
Как заставить его выводить незначащие нули?

HelpFix
Member

Сообщений: 69
Регистрация: Февраль 2007

написано 31 Июля 2008 18:54ИнфоПравкаОтветитьIP

Marduk,
можно сделать по-простому - добавить второй даталинк, который будет менять количество нулей,
благо анимации в iFix - просто безграничные

А можно сделать правильно:
при конфигурировании даталинка - преобразование данных - "Формат"
1. Укажите источник Fix32.FIX.ААА.F_CV, пусть у него будет шкала 0 - 999
2. В поле форматирование поставьте флажок - "Исх.формат"
3. И задайте формат %03.0f

Marduk
Junior Member

Сообщений: 2
Регистрация: Июль 2008

написано 31 Июля 2008 19:29ИнфоПравкаОтветитьIP

2 HelpFix: большое спасибо!!!
А можно поподробней про второй даталинк, если не трудно.

HelpFix
Member

Сообщений: 70
Регистрация: Февраль 2007

написано 01 Августа 2008 09:56ИнфоПравкаОтветитьIP

Marduk, ifix - какой версии? , я подготовлю пример.

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика