var title = 'RailUnion.net i2GR блог Лента'; var url = 'http://railunion.net/blog/i2GR/index_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; var site_url = 'http://railunion.net'; var site_desc = 'Русскоязычное железнодорожное сообщество'; var time = 'Tue, 21 Nov 2017 03:47:06 +0300'; var data = new Array(); data[0] = new Array(); data[0]['title'] = 'ЧС2-627 альфа, RSv07, АЛСН'; data[0]['url'] = 'http://railunion.net/blog/i2GR/%D0%A7%D0%A12627_%D0%B0%D0%BB%D1%8C%D1%84%D0%B0_RSv07_%D0%90%D0%9B%D0%A1%D0%9D_b-1519_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; data[0]['url'] = 'http://railunion.net/blog/i2GR/%D0%A7%D0%A12627_%D0%B0%D0%BB%D1%8C%D1%84%D0%B0_RSv07_%D0%90%D0%9B%D0%A1%D0%9D_b-1519_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; data[0]['username'] = 'i2GR'; data[0]['blog_id'] = '1519'; data[0]['blog_message'] = 'Описание принципа работы:
При загрузке карты сценарный маркер передает сообщение для ЧС2 со служебной информацией, и в том числе со светофоров какого направления (четного или нечетного) обрабатывать "сигнал АЛСН".
альфа ЧС2-627 обрабатывает его так:
Открыть спойлер
Код: Выделить всё
EK_5_K517 = "vjlekm_'rn_17.01.27-2342" -- индикация модуля экт для команды К517 КЛУБа
------------------------------------------------------------
tMap      =   {
            Type      = 50,
            Coordinate   = "",
            Station      = "",
            Display      = "",
            Integral   = 0,
            DelayTime   = 1,
            ConvertData   = {1,2,3,4,5,6,7,8,9,0,"A","B","C","D","E"},
            KLUBFlag   = "M",
            StationFlag = "E"
            }
------------------------------------------------------------
function  OnCustomSignalMessage(ConsistMessage)
local messageFlag = string.sub(ConsistMessage, 1, gMarkerKeyLen) -- gMarkerKeyLen = ...


[ Продолжается ]'; data[0]['blog_time'] = 'Sun, 23 Apr 2017 00:19:34 +0300'; data[1] = new Array(); data[1]['title'] = 'Railworks. Сигнализация Rail Signals v0.6. АЛСН. Прием сообщений'; data[1]['url'] = 'http://railunion.net/blog/i2GR/Railworks._%D0%A1%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_Rail_Signals_v0.6._%D0%90%D0%9B%D0%A1%D0%9D._%D0%9F%D1%80%D0%B8%D0%B5%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9_b-1518_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; data[1]['url'] = 'http://railunion.net/blog/i2GR/Railworks._%D0%A1%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_Rail_Signals_v0.6._%D0%90%D0%9B%D0%A1%D0%9D._%D0%9F%D1%80%D0%B8%D0%B5%D0%BC_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9_b-1518_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; data[1]['username'] = 'i2GR'; data[1]['blog_id'] = '1518'; data[1]['blog_message'] = 'В качестве пояснения.
Исторически с версией 0.5 я не смог заставить локомотив с составом идентифицировать сообщения АЛС поступающих к нему и спереди и сзади. Чтобы он получал сообщения только с одной стороны – головы поезда и при движении назад и чтобы это было достаточно общим решением, зависящим только от того, где у состава "сценарный" перед и должны ли от светофора со стороны активной кабины доходить в лок путевые сообщения. Поэтому в v0.6 формат был изменен. По мере углубления моих знаний о режимах АЛСН и работе КЛУБа (Спасибо, Стас!), может быть, я сам уже подозреваю сообщения v0.6 в избыточности, но в качестве побочного занятного эффекта они дают хоть на 50%, но сделать похожим на правду работу ЭК в КЛУБе. Но это оффтоп.

Приведенный скрипт с функцией обработки сообщений светофоров приведен практически без изменений по сравнению с работающим проектом, и не включает в себя саму индикацию огней, т.к. она связана с ЭПК, и это сделано отдельной функцией. Дополнительно нужно при и...

[ Продолжается ]'; data[1]['blog_time'] = 'Fri, 22 Jul 2016 13:25:59 +0300'; data[2] = new Array(); data[2]['title'] = 'Railworks. Скрипт тяговой характеристики на примере ЧС2'; data[2]['url'] = 'http://railunion.net/blog/i2GR/Railworks._%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D1%82%D1%8F%D0%B3%D0%BE%D0%B2%D0%BE%D0%B9_%D1%85%D0%B0%D1%80%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_%D0%A7%D0%A12_b-1517_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; data[2]['url'] = 'http://railunion.net/blog/i2GR/Railworks._%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D1%82%D1%8F%D0%B3%D0%BE%D0%B2%D0%BE%D0%B9_%D1%85%D0%B0%D1%80%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_%D0%A7%D0%A12_b-1517_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; data[2]['username'] = 'i2GR'; data[2]['blog_id'] = '1517'; data[2]['blog_message'] = '1. Дефолтная схема
..которая нам не подходит, но дает понять что такое Tractive Effort VS Speed , Tractive Effort vs Throttle и Max Force
Открыть спойлер
Simulation -конфиг содержит разделы Tractive Effort VS Speed и Tractive Effort vs Throttle
Как можно вычитать из мануалов в этих разделах указывается csv-файлы с парами значений: «скорость» - «процент тяги» и «позиция контроллера машиниста» - «процент тяги». По этим значениям определяется кусочно-линейные аппроксимации кривых тяга-скорость, тяга-позиция. Через эти кривые рассчитывается тяговое усилие в текущий момент времени при заданной скорости и заданном значении контрола Regulator. Итоговые коэффициенты перемножаются, плюс учитывается сила трения и скатывание.
В кривых используется "процент тяги". Значение максимальной тяги ...


[ Продолжается ]'; data[2]['blog_time'] = 'Tue, 28 Jun 2016 16:26:28 +0300'; data[3] = new Array(); data[3]['title'] = 'О плавном затухании / загорании огней светофоров в RW'; data[3]['url'] = 'http://railunion.net/blog/i2GR/%D0%9E_%D0%BF%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%BC_%D0%B7%D0%B0%D1%82%D1%83%D1%85%D0%B0%D0%BD%D0%B8%D0%B8_%D0%B7%D0%B0%D0%B3%D0%BE%D1%80%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BE%D0%B3%D0%BD%D0%B5%D0%B9_%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D1%84%D0%BE%D1%80%D0%BE%D0%B2_%D0%B2_RW_b-123_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; data[3]['url'] = 'http://railunion.net/blog/i2GR/%D0%9E_%D0%BF%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%BC_%D0%B7%D0%B0%D1%82%D1%83%D1%85%D0%B0%D0%BD%D0%B8%D0%B8_%D0%B7%D0%B0%D0%B3%D0%BE%D1%80%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BE%D0%B3%D0%BD%D0%B5%D0%B9_%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D1%84%D0%BE%D1%80%D0%BE%D0%B2_%D0%B2_RW_b-123_sid-964e89a1ef18e5d80f24c8ea322a7da0.html'; data[3]['username'] = 'i2GR'; data[3]['blog_id'] = '123'; data[3]['blog_message'] = 'Задался я, было, прикрутить к светофорам эффекты плавного затухания / загорания огней, присущие лампам накаливания.
Стандартный метод зажигания огней световой сигнализации – ActivateNode, когда нужный узел отображается мгновенно. При плавном загорании, нужно нечто, что меняет свой вид со временем. Я попытался использовать схему с UV-анимацией текстуры.

Теория:

Для огня каждой лампы нужно создать три узла c условными именами:

fire изображает постоянно горящий огонь
fire01 изображает загорающийся огонь
fire10 изображает гаснущий огонь


Сетка узлов - круг или «сегмент сферы» («сегмент сферы» я получил удалением у стандартного примитива «бочка» всего, кроме торца) с большим числом граней. Круг (сегмент) разделен на сектора.

Изображение

На fire01 и fire10 н...

[ Продолжается ]'; data[3]['blog_time'] = 'Tue, 05 Jun 2012 00:29:41 +0400';