protected static void writeRatioTapChanger(String name, RatioTapChanger rtc, NetworkXmlWriterContext context) throws XMLStreamException { context.getWriter().writeStartElement(IIDM_URI, name); writeTapChanger(rtc, context.getWriter()); context.getWriter().writeAttribute("loadTapChangingCapabilities", Boolean.toString(rtc.hasLoadTapChangingCapabilities())); if (rtc.hasLoadTapChangingCapabilities() || rtc.isRegulating()) { context.getWriter().writeAttribute(ATTR_REGULATING, Boolean.toString(rtc.isRegulating())); } if (rtc.hasLoadTapChangingCapabilities() || !Double.isNaN(rtc.getTargetV())) { XmlUtil.writeDouble("targetV", rtc.getTargetV(), context.getWriter()); } if (rtc.getRegulationTerminal() != null) { writeTerminalRef(rtc.getRegulationTerminal(), context, ELEM_TERMINAL_REF); } for (int p = rtc.getLowTapPosition(); p <= rtc.getHighTapPosition(); p++) { RatioTapChangerStep rtcs = rtc.getStep(p); context.getWriter().writeEmptyElement(IIDM_URI, ELEM_STEP); writeTapChangerStep(rtcs, context.getWriter()); } context.getWriter().writeEndElement(); }
private void writeRatioTapChanger(TableFormatter formatter, String rtcId, RatioTapChanger rtc, String tcsId) throws IOException { int rtcNum = mapper.getInt(AmplSubset.RATIO_TAP_CHANGER, rtcId); int tcsNum = mapper.getInt(AmplSubset.TAP_CHANGER_TABLE, tcsId); formatter.writeCell(variantIndex) .writeCell(rtcNum) .writeCell(rtc.getTapPosition() - rtc.getLowTapPosition() + 1) .writeCell(tcsNum) .writeCell(rtc.hasLoadTapChangingCapabilities() && rtc.isRegulating()); if (config.isExportRatioTapChangerVoltageTarget()) { formatter.writeCell(rtc.getTargetV()); } formatter.writeCell(faultNum) .writeCell(actionNum) .writeCell(rtcId); }
if (t.getPhaseTapChanger() == null // no TD && t.getRatioTapChanger() != null && t.getRatioTapChanger().hasLoadTapChangingCapabilities() // has tap changer && t.getRatioTapChanger().isRegulating() && t.getTerminal1().getVoltageLevel().getNominalV() >= 63.0 // no TG