Создание отчетов в формате Excel с помощью WinCC Professional

  Рет қаралды 5,880

Portal View

Portal View

Күн бұрын

Телеграм-канал, где можно связаться со мной, пообщаться и задать свои вопросы: t.me/portal_view
Привет. В этом видео я расскажу, как с помощью скриптов на WinCC Professional можно создавать автоматические файлы отчетов в формате Excel
Ссылка на архив проекта TIA v15.0:
drive.google.c...
Основной скрипт:
drive.google.c...
Скрипт для закрытия Excel:
drive.google.c...

Пікірлер: 36
@user-vk9uy9qz8j
@user-vk9uy9qz8j 2 жыл бұрын
Спасибо большое за этот ролик! Если бы он вышел в ноябре, то моя жизнь была бы на много проще))
@sainthentai7763
@sainthentai7763 10 ай бұрын
Ты настоящий сигма альфа гигачад с мясистой попой и здоровенным болтом! Спасибо за видео!
@asutp2089
@asutp2089 2 жыл бұрын
Великолепно подал материалл. Этот способ не только будет в wincc работать но и в других скадах.
@user-pk2hz6sg4f
@user-pk2hz6sg4f 2 жыл бұрын
Спасибо вам большое за проделанный труд.
@АртемНеволин-ф1з
@АртемНеволин-ф1з 2 жыл бұрын
Спасибо. Познавательное и интересное видео!!!
@SlavaSlavin1
@SlavaSlavin1 2 жыл бұрын
Ну вот) Полная годность. Сразу ясно с кем имеешь дело) Пара вопросов: 1. С кортов встаём? 2. Нормально 11я винда зашла? Нервоза не много?
@portalview3028
@portalview3028 2 жыл бұрын
1. Нет, прошу занимать сидячие места до конца этого чудесного трипа 2. Если в одном месте не жжот, лучше не переходить. Ничего нового полезного не заметил, а то что реально были полезно, зачем то вырезали или сделали неудобным
@SlavaSlavin1
@SlavaSlavin1 2 жыл бұрын
@@portalview3028 Ну у маек так и заведено) Спрятать какую нибудь панель за тридевять своих ср...ных плиток)
@sergymaut1699
@sergymaut1699 2 жыл бұрын
Вот это годный ролик за это лайк
@klyuchenkov
@klyuchenkov 2 жыл бұрын
Огонь!
@mikhailschelemin9732
@mikhailschelemin9732 2 жыл бұрын
За видео жЫрный лайк! Автор, модифицируй скрипнт, пожалуйста, чтобы в течение суток каждый час в новую строку значение тэга писал. А начиная с новых суток - новый файл
@HomoSapiensWithLaptop
@HomoSapiensWithLaptop 11 ай бұрын
это будет примерно так: Dim objExcel, objWorkbook, objSheet Dim strTemplatePath, strOutputPath Dim objFSO Dim strValue Dim objShell Dim dtLastRun Dim dtNow ' Установите пути к файлам Excel и к выходным файлам strTemplatePath = "C:\Путь\К\Шаблонному\Файлу.xlsx" strOutputPath = "C:\Путь\К\Выходному\Каталогу\" ' Создайте объекты Excel и FileSystemObject Set objExcel = CreateObject("Excel.Application") Set objFSO = CreateObject("Scripting.FileSystemObject") ' Проверка наличия шаблонного файла If objFSO.FileExists(strTemplatePath) Then ' Получаем атрибуты времени записи файла Set objFile = objFSO.GetFile(strTemplatePath) dtLastRun = objFile.DateLastModified ' Открываем шаблонный файл Set objWorkbook = objExcel.Workbooks.Open(strTemplatePath) Set objSheet = objWorkbook.Sheets(1) ' Получаем текущую дату и время dtNow = Now ' Проверка, прошло ли более 1 часа с последнего запуска If DateDiff("h", dtLastRun, dtNow) >= 1 Then ' Записываем значение в новый столбец strValue = "Значение" ' Замените это на ваше значение objSheet.Cells(1, objSheet.UsedRange.Columns.Count + 1).Value = strValue ' Сохраняем изменения в шаблонном файле objWorkbook.Save ' Обновляем атрибуты времени записи файла objFile.DateLastModified = dtNow ' Закрываем Excel objExcel.Quit Set objExcel = Nothing End If ' Проверка, прошел ли день If DateDiff("d", dtLastRun, dtNow) >= 1 Then ' Создаем новый файл для следующего дня Set objShell = CreateObject("WScript.Shell") objShell.Run "cmd /c copy """ & strTemplatePath & """ """ & strOutputPath & "Файл_" & Year(dtNow) & Month(dtNow) & Day(dtNow) & ".xlsx""", 0, True ' Закрываем Excel и освобождаем ресурсы objExcel.Quit Set objExcel = Nothing End If Else WScript.Echo "Шаблонный файл не найден." End If ' Освобождаем ресурсы Set objFSO = Nothing Set objSheet = Nothing Set objWorkbook = Nothing Set objExcel = Nothing Set objShell = Nothing
@user-ti4fn2qp8d
@user-ti4fn2qp8d 10 ай бұрын
А как сделать то же самое, только записывать архивные значения тегов с меткой времени? то есть, тянуть архивные данные из базы SQL?
@user-mo3mj4mv6l
@user-mo3mj4mv6l 3 ай бұрын
Добрый день! Подскажите пожалуйста, а на WinCC Advanced этот скрипт будет работать,
@bcs-t4292
@bcs-t4292 Жыл бұрын
Тема очень важная, благодарю!! Подскажите пожалуйста, как лучше решать следующую задачу. Нужно каждый день сохранять файл с данными по каждой переменной с периодом в 1 сек. Решение "в лоб" - это каждый день создавать новый CSV-файл и каждую секунду в него записывать новые данные. Насколько это решение правильное если на производстве 20 контроллеров, и в каждом по 50 тэгов?
@user-ry5cl9st2d
@user-ry5cl9st2d Жыл бұрын
Привет из 2023 Автору спасибо за видео Можно заменить if месяцы заменить циклом For monthNumber = 1 To 12 FS.CreateFolder "D:\TiaPort\" & Year(Now()) & "\" & MonthName(monthNumber, False) monthNumber = ++monthNumber Next MonthName ( monthNumber - номер месяца, False - длинное или короткое название месяца 1- Янв, 1 - Январь)
@winter_soon
@winter_soon 9 ай бұрын
Добрый день. Пытаюсь написать генератор отчетов , но wincc 7.5 при написании скрипта не понимает функцию workbook, соответственно не создает файлы(папки создались на ура). Не могли бы вы подсказать куда рыть? Может что то нужно доустанавливать? Excel стоит 2007 sp3. У вас пример для wincc advanced а у меня professional вроде должно работать но увы.
@eugenbeutnr2694
@eugenbeutnr2694 2 жыл бұрын
Большое спасибо за видео. Есть ли отдельный документ у Siemens по скриптам или общий учебник по VBScript лучше полистать?
@portalview3028
@portalview3028 2 жыл бұрын
А я вот что-то не помню даже. По-моему что-то у сименса есть. Как минимум по wincc документация, там и про скрипты есть инфа
@gyftoaigyptios2432
@gyftoaigyptios2432 2 жыл бұрын
Замечания. Конечно, у каждого свой почерк кода и читабельность, но... 1) Dim...As, иначе жрётся память. Без "As" VB генерит "As Variant" (24 байта). И объединяйте: Dim filename, path As String. 2) 26:00 - Select...Case. Или Month(Now()) &"_"& MonthName(Now()). 3) 30:02 - конкатенация IIf(Minute(Now())
@portalview3028
@portalview3028 2 жыл бұрын
Спасибо за замечание) я все это прекрасно понимаю, и если бы подобных скриптов была добрая сотня, то это было бы критично, а так фиг с ним) я вообще слабо умею в оптимизацию. Любитель нагородить десятиэтажного кода😅 нужна практика, а я такое пишу от случая к случаю раз в полгода)
@mikhailschelemin9732
@mikhailschelemin9732 2 жыл бұрын
Автору респект! Как открыть по скрипту папку с отчетом в проводнике Windows?
@portalview3028
@portalview3028 2 жыл бұрын
Погуглите how to open a folder with vbs. Примеров куча
@Hip67channel
@Hip67channel 2 жыл бұрын
Может не в тему, но тоже про отчёты: кто нибудь видел библиотеку для s7-1200/1500 которая может писать в sql кириллицу? Везде валяется стандартная сименовская, которая пишет только стандартные символы
@SERVICE_KARELIA
@SERVICE_KARELIA Ай бұрын
Если у кого есть мануал по wincc runtime, скиньте ссылочку.
@user-gy4ge4kz5d
@user-gy4ge4kz5d 2 жыл бұрын
В симуляторе работает, спору нет. Но сделал на hmi и выдаёт ошибку. Не подскажите как быть? Error ActiveX component can't create object "scripting.filesystemobject" In script create in line 59?
@portalview3028
@portalview3028 2 жыл бұрын
Что значит сделали на HMI?
@user-gy4ge4kz5d
@user-gy4ge4kz5d 2 жыл бұрын
@@portalview3028 ну в смысле записал программу на плк и панель и с панели он мне эту ошибку пишет когда пытаюсь сохранить
@portalview3028
@portalview3028 2 жыл бұрын
@@user-gy4ge4kz5d ну так конечно это не будет работать. Это скрипт для ПК, а не для панели. Как вы вообще собирались адаптировать этот скрипт для панели, я не понимаю
@user-gy4ge4kz5d
@user-gy4ge4kz5d 2 жыл бұрын
@@portalview3028 опыта нет, не знал. Думал, что заработает. А возможно что то подобное написать для панели?
@HomoSapiensWithLaptop
@HomoSapiensWithLaptop 11 ай бұрын
Потому что FileSystemObject это ActiveX компонент OS Windows. Если на HMI будет установлена винда, то все бы заработало. А там скорее всего стоит что-то Linux подобное, либо урезанная винда, в которой нет этой библиотеки.
@mikhailschelemin9732
@mikhailschelemin9732 2 жыл бұрын
Автору лайк и подписка, но не раскрыта тема генерации отчётов за сутки с часовым интервалом
@portalview3028
@portalview3028 2 жыл бұрын
Ну это все настраивается там же, в scheduled tasks. Настраиваете, чтобы скрипт вызывался каждый час и все
@mikhailschelemin9732
@mikhailschelemin9732 2 жыл бұрын
@@portalview3028 тогда будет создан новый файл. Я, конечно, уже разобрался как сделать - надо файл создавать только при var=0, а в остальных случаях - дописывать. Иначе каждый раз новый файл будет
@HomoSapiensWithLaptop
@HomoSapiensWithLaptop 11 ай бұрын
А почему не создать массив с названиями месяцев и обращаться туда по индексу, который формирует системная переменная? А ошибка с закрытием excel связана с тем, что экземпляра Excel не было, поэтому ExcelApp был равен null. Сооственно, у него нельзя вызвать методы, тк объекта не существует
@portalview3028
@portalview3028 11 ай бұрын
Вы можете создать массив, я не запрещал)
Running With Bigger And Bigger Feastables
00:17
MrBeast
Рет қаралды 214 МЛН
这三姐弟太会藏了!#小丑#天使#路飞#家庭#搞笑
00:24
家庭搞笑日记
Рет қаралды 121 МЛН
Wincc data export to SQL Server
17:41
All About PLC
Рет қаралды 10 М.
Создание проекта EPLAN 2024
23:46
Andres Kaen
Рет қаралды 309
Eplan 2024 Узлы
30:29
eplan book
Рет қаралды 394
TIA Portal HMI/SCADA  Vb Scripting - Report generation ( Datalog ) in CSV/Exel file cyclic/No cyclic
4:37
Rohit K- Industrial Automation Kott Tutorial
Рет қаралды 13 М.
script for create csv file on siemens hmi tp1200
38:04
BELAJAR PLC & SCADA
Рет қаралды 10 М.
[Share Code] WinCC Pro Excel Report Daily/Hour/Minute
6:48
plc247 Automation
Рет қаралды 11 М.