This is topic Чтение/Запись канала CALL в файл *dat in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.
Имеется канал CALL с типом вызова ChGroupReq и названием File_1 с аргументами. Программа_1 посылает 1 на атрибут 128(чтение). Всё работает.
Но я добавил ещё один канал CALL с типом вызова ChGroupReq и названием File_2 с аргументами. Программа_2 посылает 1 на атрибут 129(Запись). В результате работает только запись а канал с чтением перестал работать.
Что нужно сделать что бы одновременно работали два канала один на чтение другой на запись?
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
Одномоментно работать можно с одним каналом.
В случае необходимости работать с несколькими файлами (чтение/запись у канала Call), то следует это делать последовательно.
Отдельно отмечу, что подавать команду на чтение/запись с помощью программы необходимо аккуратно. Присвоение выходному аргументу некоторого значения происходит постоянно (с периодом отработки канала-программы). Тем самым, если программа подает 1 на запись в файл, то она будет подавать ее до тех пор, пока Вы не отмените эту команду.
[ 13.01.2023, 16:34: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
Posted by Gennady (Участник № / Member № 6305) on :
Я переделал так что у меня теперь два канала CALL с типом вызова ChGroupReq и названиями File_1(для чтения) и File_2(для записи). Но ОДНА! программа которая по очереди отправляет единицы на нужные атрибуты в каналы. Всё равно работает только один канал, сейчас только на чтение, запись перестало работать.
Я правильно понял что во всём проекте может быть только один канал CALL с типом вызова ChGroupReq для работы с текстовыми файлами *.dat ?
Или всё таки как то можно сделать несколько файлов *.dat и работать с ними?
И что значит как вы написали отменить команду? Если я вместо 1 отправлю 0 это является отменой команды?
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
quote:Отправитель / Originally posted by Gennady: Я правильно понял что во всём проекте может быть только один канал CALL с типом вызова ChGroupReq для работы с текстовыми файлами *.dat ?
Или всё таки как то можно сделать несколько файлов *.dat и работать с ними?
В проекте может быть несколько dat-файлов с разными названиями (именами каналов).
quote:Отправитель / Originally posted by Gennady: И что значит как вы написали отменить команду? Если я вместо 1 отправлю 0 это является отменой команды?
Если отправить 0, то это так же команда. Так как Вы (согласно описанию выше) посылаете программой 1 или 0, то происходит работа с первым каналом.
Опишите подробно что Вы хотите реализовать в конечном итоге?
Posted by Gennady (Участник № / Member № 6305) on :
У меня имеется: 1) Канал CALL с типом вызова ChGroupReq и названием File_1 с аргументами. Соответственно будет файл File_1.dat .С него надо только читать
2) Канал CALL с типом вызова ChGroupReq и названием File_2 с аргументами. Соответственно будет файл File_2.dat .В него надо только записывать
Мне надо что они работали одновременно.
Есть программа в которой 2 аргумента. Один аргумент шлёт 1 в один канал, другой аргумент 1 в другой канал. Привязки соответственно для чтения и записи всё правильно.
Когда две привязки работает только канал для записи. Если удалить привязку для записи заработает канал для чтения. А как сделать что бы оба работали?
Posted by Gennady (Участник № / Member № 6305) on :
В качестве примера скажу что вот с каналами баз данных такой проблемы не было. У меня несколько каналов БД и у каждой есть своя прога которая шлёт номер запроса. И всё прекрасно работает одновременно и не мешает друг дургу. Вот я и не пойму почему с файлами *.dat есть проблема.
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
quote:Отправитель / Originally posted by Gennady: ... Мне надо что они работали одновременно. ... А как сделать что бы оба работали?